سلام دوستان
همونطور که مشخصه performclick رویداد کلیک یه دکمه رو فرا میخونه
حالا اگه بخوایم رویداد های دیگه فرم مثل mouse down رو فرا بخونیم باید چه کار کنیم؟
سلام دوستان
همونطور که مشخصه performclick رویداد کلیک یه دکمه رو فرا میخونه
حالا اگه بخوایم رویداد های دیگه فرم مثل mouse down رو فرا بخونیم باید چه کار کنیم؟
سلام
اون هم یه متدیه مثل بقیه متدهای خدا! که معمولاً 2 تا پارامتر می گیره حالا شما هر دو تا پارامتر رو مثلا null بفرستید.
مثلاً
lbl_MouseDown(null, null);
یا حتی به جای پارامتر sender میشه از this هم استفاده کرد
lbl_MouseDown(this, null);
******* ویرایش شد
(object sender, EventArgs e)
پارامتر اول یه object هست به اسم sender یعنی فرستنده یعنی به شی ای اشاره می کنه که این رویداد ازش صادر شده که می تونه فرم، دکمه، لیبل، چک باکس و ... باشه. مثلا اگه شما روی یه دکمه به اسم btnSave کلیک کنید این دکمه میشه sender. و با کد زیر میشه اسمش رو نمایش داد:
MessageBox.Show(((Button)sender).Name);
کاربردش مخصوصاً وقتی که اشیا در حالت اجرا ساخته میشن و اسم و متنشون رو نمی دونیم مشخص میشه. یا وقتی چند کنترل از یه رویداد مشترک استفاده می کنن. مثلاً توی ماشین حساب، رویداد کلیک همه دکمه ها یکی است فقط شماره دکمه فرق میکنه. اینجا نیازی نیست 10 تا رویداد تعریف کنید، یه دونه تعریف می کنید و به همه دکمه ها نسبت میدید و با استفاده از کد زیر شماره روی دکمه رو به دست میارید:((Button)sender).Text
پارامتر دومی به خود رویداد اشاره میکنه. بعضی جاها یه سری متد و پراپرتی داخلش هست که خیلی کمک می کنه مثلاً توی رویداد CellMouseDoubleClick توی دیتاگریدویو شما اگه e. رو بزنید پراپرتی های ColumnIndex و RowIndex رو می بینید که می تونید شماره سطر و ستون هر سلول رو بدست بیارید.
آخرین ویرایش به وسیله Mahmoud Zaad : سه شنبه 17 مرداد 1396 در 21:34 عصر دلیل: توضیح بیشتر در مورد کاربرد sender
دمت گرم کلا موضوع رفت تو خوردم
نمیدونستم اینا رو با تشکر از جواب خوبت دوست من