PDA

View Full Version : سوال: چطور میتونم یک رویداد رو به کنترل ها بدم؟



nunegandom
پنج شنبه 07 مهر 1390, 13:22 عصر
برای رویداد ها که یه کلاس void دارم. چطور میتونم این کد ها رو بهشون اختصاص بدم بدونه اینکه برم توی رویداد keypress و کلاس رو احضار کنم؟!
پیشاپیش ممنون.

m2_farzan
پنج شنبه 07 مهر 1390, 15:19 عصر
شاید اگه واضح تر توضیح بدین بتونم کمکتون کنم...

nunegandom
پنج شنبه 07 مهر 1390, 17:08 عصر
مثلا 20 تا کنترل تویه یه فرم دارم. یه کلاس نوشتم به این صورت که زبان رو وقتی تویه
public void Enter2Tab(object sender,KeyPressEventArgs e)
{
if(e.KeyChar == (char)Keys.Enter)
SendKeys.Send("{TAB}");
}
حالا میخوام این رو تویه press event چند تا تکست باکس بذارم.البته با کد!

2ndesigner
پنج شنبه 07 مهر 1390, 17:33 عصر
دقیقا منظورتون رو متوجه نشدم ولی اگه منظورتون ایجاد رویداد توسط کدنویسی هست :

textBox1.KeyPress+=new KeyPressEventHandler( function name );

function name نام تابع شماست

و برای اینکه بتونی توسط یه متد تمام تکست باکس هایی رو که از این تابع استفاده می کنند رو کنترل کنی باید یه تکست باکس معرفی کنی و برابر تکست باکس مورد نظر کنی ، به این صورت:

textbox txb=(textbox) sender

بعد هم می تونی از txb تعریف شده استفاده کنی.

nilmil_nil
پنج شنبه 07 مهر 1390, 21:26 عصر
شما باید برید داخل رویداد KeyPress هر کنترل از طریق پنجره Events و رویداد اون رو از combo رو همون رویدادی که بالا نوشتی رو اختصاص بده
به همبن سادگی
دیگه نمیخواد واسه همه اونا کد تکراری بنویسی
فقط به هر کنترل اون رویدادی که خودت تابعشو نوشتی رو بده و تمام