سلام
ميخوام وقتي بر روي يك دكمه توي فرم كليك مي كنم رويداد كليك فرم اجرا بشه، آرگومانهاي رويداد فرم را چي بايد تعريف كنم. (منظورم اين دوتاست: object sender, EventArgs e)
ممنون
سلام
ميخوام وقتي بر روي يك دكمه توي فرم كليك مي كنم رويداد كليك فرم اجرا بشه، آرگومانهاي رويداد فرم را چي بايد تعريف كنم. (منظورم اين دوتاست: object sender, EventArgs e)
ممنون
سلام
معمولا به جای sender مقدار null . بجای EventArgs مقدار
new EventArgs()
فرستاده می شه.البته اگر از این مقادیر در رویداد مذکور استفاده می کنید،حتما باید مقادیر مناسبی برای آن ها ارسال کنید.(این بستگی به پیاده سازی رویداد مقصد دارد).
البته برخی رویداد ها را به شکل غیر مستقیم هم می توان فعال کرد.برای مثال رویداد click دکمه را به متد PerformClick همان کلید یا رویداد به روز رسانی شکل ظاهری فرم را با متد invalidate فرم و ....
سلام ، يه راه ساده وجود داره !!!! ميتونيد يك متغير bool با مقدار اوليه False تعريف كنيد ،
بعد هر زمان روي اون باتن مورد نظر كليك شد ، متغير رو True ، كنيد ، بعد تو رويداد كليك
فرم ، شرط رو چك كنيد ، كه متغير True بود ( كه در صورتي اين كار انجام ميشه ، كه روي
باتن كليك شده باشه ) ، هر كاري رو كه خواستيد انجام بديد !!!
مثلا یک دکمه به نام Button1 دارین به دو طریق می تونین کلیک کردن اون رو انجام بدین فراخوانی رویداد Button1_Click و صدا کردن متد Button1.PerformClick که راه دوم پیشنهاد میشه
آن لحظه که تنها اعتبار کسی که مساله ای را مطرح کرده است، شما را در اشتباه بودن ایده هایتان قانع کرد،
آن لحظه،
لحظه وداع شما با دنیای خلاقیت و پیشرفت خواهد بود. . .
برنولی
فکر نمی کنم این اصلا راه اصولی باشه، همون راهی که SMRAH1 گفته، درسته و البته راجع بهش می تونم بگم که پارامتر دوم رو هم نیازی نیست حتما یه ()new EventArgs بهش بفرستیم چون در اینجا ما صرفا می خواهیم رویداد رو فراخوانی بکنیم، در نتیجه با null فرستادن بهش هم، هیچ مشکلی پیش نمیاد.
ضمنا razavi_university جان اگر راجع به چرایی بهتر بودن PerformClick توضیح بدین، ممنون میشم.
با تشکر
معمولا وقتی دکمه ای کلیک می شود ممکن است اتفاقات دیگری (به غیر از رویداد هاییی که ما معرفی کرده ایم) را فراخوانی کند.در واقع PerformClick باعث تحریک دکمه و ایجاد رویداد Button_click می شود که در نتیجه تمام متدهای ضمیمه شده به این رویداد اجرا می شوند.(از جمله متدهایی که در base کلاس هست).همچنین در مواردی که ممکن است به dalegate رویداد click،چند متد را الصاق کرده باشیم،با تحریک PerformClick،تمام آنها یکجا فراخوان می شود ،در حالی که اگر بخواهیم همین را برنامه نویسی کنیم باید تک تک متد های رویداد را فراخوانی کنیم.