PDA

View Full Version : چطوری این textbox را به صورت کامپوننت بنویسم؟



sgh_programer
یک شنبه 15 بهمن 1391, 14:19 عصر
بنام خدا
سلام
دوستان میخواستم بدونم تکس باکس زیر را چه جوری باید به صورت یه کامپوننت بنویسم

99461
من این تکس باکس را به صورت زیر درست کردم
اول یه عکس توی فتوشاپ درست کردم

99462

کارایی که توی محیط سی شارپ انجام دادم:


1. یه پیکچرباکس روی فرم قرار دادم

2.خاصیت ایمج اونا اون عکسه قرار دادم

3.ونهایتا یه تکست باکس روی اون گذاشتم

99466

و خروجی نهایی این شد

99464

در کل میشه چنین کامپونتی درست کرد؟

ممنون میشم راهنمایی کنید

ma.rad
یک شنبه 15 بهمن 1391, 14:38 عصر
بیا عزیز:
99472

sgh_programer
یک شنبه 15 بهمن 1391, 14:43 عصر
سلام مجدد
مرسی از پاسخت اما این ارور میده
99469

sgh_programer
یک شنبه 15 بهمن 1391, 14:47 عصر
بیا عزیز:
99468

ویرایش شد دوباره دانلود کنید

داداش باز هم همون ارور را میده

danialafshari
یک شنبه 15 بهمن 1391, 14:56 عصر
سلام
بفرمائید :

ma.rad
یک شنبه 15 بهمن 1391, 15:06 عصر
داداش باز هم همون ارور را میده

مشکلی نداره
فقط یه نکته دات نت 4 ،میخوای 3.5 یا 2 بزارمش

sgh_programer
یک شنبه 15 بهمن 1391, 15:08 عصر
سلام
بفرمائید :

سلام مجدد و ممنون از لطفتون

خودم قبل از ایجاد این تایپیک این کار رو انجام دادم اما یه مشکل بزرگ داره که نمیشه به مشخصات تکست باکس دسترسی داشت مثلا نمیتونی رنگ تکست باکس رو تغییر بدی
برای این مشکل راهی هست؟

sgh_programer
یک شنبه 15 بهمن 1391, 15:09 عصر
مشکلی نداره
فقط یه نکته دات نت 4 میخوای 3.5 یا 2 بزارمش

من از 3.5 استفاده میکنم

Mahmoud.Afrad
یک شنبه 15 بهمن 1391, 15:09 عصر
یک یوزر کنترل به پروژه اضافه کنید.
اندازه یوزرکنترل را تنظیم کنید.
backColor یوزر کنترل را از تب web روی Transparent قرار دهید.
از طریق BackgroundImage عکس را انتخاب کنید.
BackgroundImageLayout یوزرکنترل را روی stretch قرار بدید.
یک تکست باکس روی یوزرکنترل در محل مناسب قرار بدید. Modifiers تکست باکس را روی Private قرار بدید.
خاصیت anchor تکست باکس را روی top,bottom تنظیم کنید.
میتونید پراپرتی هایی را به یوزرکنترل اضافه کنید تا خصوصیاتی از تکست باکس از طریق پنجره properties (و یا کدنویسی) در دسترس باشند:

public partial class UserControl_CustomTextBox : UserControl
{
public string TextArea_Text
{
get { return this.textBox1.Text; }
set { this.textBox1.Text = value; }
}
public Color TextArea_BackColor
{
get { return this.textBox1.BackColor; }
set { this.textBox1.BackColor = value; }
}
public BorderStyle TextArea_BorderStyle
{
get { return this.textBox1.BorderStyle; }
set { this.textBox1.BorderStyle = value; }
}
public Size TextArea_Size
{
get { return this.textBox1.Size; }
set { this.textBox1.Size = value; }
}
public Font TextArea_Font
{
get { return this.textBox1.Font; }
set { this.textBox1.Font = value; }
}
public Color TextArea_ForeColor
{
get { return this.textBox1.ForeColor; }
set { this.textBox1.ForeColor = value; }
}
public bool TextArea_MultiLine
{
get { return this.textBox1.Multiline; }
set { this.textBox1.Multiline = value; }
}

public UserControl_CustomTextBox()
{
InitializeComponent();

SetSizeAndLocationOfTextBox();
}

private void UserControl_CustomTextBox_Resize(object sender, EventArgs e)
{
SetSizeAndLocationOfTextBox();
}

private void SetSizeAndLocationOfTextBox()
{
this.textBox1.Width = Convert.ToInt32(this.Width * 0.8);
this.textBox1.Left = Convert.ToInt32(this.Width * 0.1);

this.textBox1.Height = Convert.ToInt32(this.Height * 0.7);
this.textBox1.Top = Convert.ToInt32(this.Height * 0.15);
}
}



یک بار پروژه را دیباگ کنید. حالا میتونید از toolbox یوزرکنترل را استفاده کنید.

r_s1389@yahoo.com
یک شنبه 15 بهمن 1391, 17:51 عصر
میشه با کلاس لایبرری رهم این کار رو انجام داد
مثلا یک پروپرتی داشته باشه که اگر داخل تکس باکس عدد بود اون رو به int تبدیل کند