PDA

View Full Version : استفاده از یک کد برای چند کنترل



arash ahmadi
دوشنبه 16 مهر 1386, 08:06 صبح
اگر بخواهم برای چند کنترل(تکست باکس) یک رویداد بنویسم چه کار باید انجام بدهم؟
(مثلا" برای رویداد validating ده تکست باکس یک کد رو بنویسم؟ و با این کار از افزونگی جلوگیری کنم.)

babak23
دوشنبه 16 مهر 1386, 08:26 صبح
روش اول:
یه تابع بنویس و اون تابع را تو رویدادهای تکست باکس ها فراخوانی کن
البته داخل این تابع هم میتونی خیلی راحت مانور بدی .


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

اینم کدش


private void textBox1_Validated(object sender, EventArgs e)
{
//نوشتن کد هایی برنامه
}
private void textBox2_Validated(object sender, EventArgs e)
{
//فراخوانی رویداد مربوط به تکست باکس 1
textBox1_Validated( sender, e);
}

iranrose63
دوشنبه 16 مهر 1386, 08:37 صبح
میتونی کد مورد نظرت رو برای یکی از تکست باکس ها بنویسی سپس در مد design سایر تکست باکس ها رو انتخاب کنی ار قسمت event , event مورد نظر خودت روانتخاب کن از لیست بازشو کنارش اون event تکست باکسی رو که نوشتی انتخاب کن فقط در کد به جای اینکه اسم تکست باکس رو بنویسی از sender استفاده کن


TextBox temp=(TextBox)sender;
temp.Text="test";

PC2st
دوشنبه 16 مهر 1386, 20:34 عصر
اگر بخوایم روشی که iranrose63 گفتند رو بصورت کد بنویسیم:


button1.Click += new EventHandler(button_Click);
button2.Click += new EventHandler(button_Click);
button3.Click += new EventHandler(button_Click);
button4.Click += new EventHandler(button_Click);

که متد button_Click به شکل زیر:


void button_Click(object sender, EventArgs e)
{
//...
}