PDA

View Full Version : فراخوانی متد رویداد mouse down



amirabbas22
سه شنبه 17 مرداد 1396, 12:52 عصر
سلام دوستان
همونطور که مشخصه performclick رویداد کلیک یه دکمه رو فرا میخونه
حالا اگه بخوایم رویداد های دیگه فرم مثل mouse down رو فرا بخونیم باید چه کار کنیم؟

Mahmoud Zaad
سه شنبه 17 مرداد 1396, 14:28 عصر
سلام
اون هم یه متدیه مثل بقیه متدهای خدا! که معمولاً 2 تا پارامتر می گیره حالا شما هر دو تا پارامتر رو مثلا null بفرستید.
مثلاً
lbl_MouseDown(null, null);
یا حتی به جای پارامتر sender میشه از this هم استفاده کرد
lbl_MouseDown(this, null);

amirabbas22
سه شنبه 17 مرداد 1396, 17:56 عصر
سلام
اون هم یه متدیه مثل بقیه متدهای خدا! که معمولاً 2 تا پارامتر می گیره حالا شما هر دو تا پارامتر رو مثلا null بفرستید.
مثلاً
lbl_MouseDown(null, null);
یا حتی به جای پارامتر sender میشه از this هم استفاده کرد
lbl_MouseDown(this, null);

اقا قربون دست نصف مشکلات منو با همین رفع کردی دمت گرم :تشویق::لبخند:
فقط من هنوز نمیدونم داستان 2 تا پارامتری که باید بهش بدی چیه
پارامتر اول با دوم چه فرقی داره اصا sender چیه e چیه جایی توصیح نداده در این مورد :گریه:

Mahmoud Zaad
سه شنبه 17 مرداد 1396, 21:03 عصر
******* ویرایش شد

(object sender, EventArgs e)

پارامتر اول یه object هست به اسم sender یعنی فرستنده یعنی به شی ای اشاره می کنه که این رویداد ازش صادر شده که می تونه فرم، دکمه، لیبل، چک باکس و ... باشه. مثلا اگه شما روی یه دکمه به اسم btnSave کلیک کنید این دکمه میشه sender. و با کد زیر میشه اسمش رو نمایش داد:
MessageBox.Show(((Button)sender).Name);
کاربردش مخصوصاً وقتی که اشیا در حالت اجرا ساخته میشن و اسم و متنشون رو نمی دونیم مشخص میشه. یا وقتی چند کنترل از یه رویداد مشترک استفاده می کنن. مثلاً توی ماشین حساب، رویداد کلیک همه دکمه ها یکی است فقط شماره دکمه فرق میکنه. اینجا نیازی نیست 10 تا رویداد تعریف کنید، یه دونه تعریف می کنید و به همه دکمه ها نسبت میدید و با استفاده از کد زیر شماره روی دکمه رو به دست میارید: ((Button)sender).Text

پارامتر دومی به خود رویداد اشاره میکنه. بعضی جاها یه سری متد و پراپرتی داخلش هست که خیلی کمک می کنه مثلاً توی رویداد CellMouseDoubleClick توی دیتاگریدویو شما اگه e. رو بزنید پراپرتی های ColumnIndex و RowIndex رو می بینید که می تونید شماره سطر و ستون هر سلول رو بدست بیارید.

amirabbas22
سه شنبه 17 مرداد 1396, 21:12 عصر
دمت گرم کلا موضوع رفت تو خوردم :لبخند:
نمیدونستم اینا رو با تشکر از جواب خوبت دوست من :متفکر::تشویق: