در این پست قصد داریم تا نحوه صحیح ایجاد یک شی از نوع Button را ارائه بدیم:
در پست قبلی موارد 1 و 2 و 3 را تکمیل کردیم و حال رسیدیم به مبحث 4 که مربوط به ایجاد رویداد است.
کارهایی که قراره انجام بشه:
- ایجاد یک تابع برای فراخوان دستورات (ساخت شی)
- صدا زدن تابع برای اجرای دستورات
- تعریف یک شی از نوع کلید یا Button
- تعریف رویداد یا Event برای کلید
- برای مثال ایجاد رویداد Click روی این Button و نمایش پیغام
در پست قبلی ابتدا یک تابع ساختیم و درون آن یک شی جدید را همراه با تعریف Properties ها ایجاد کردیم، حال بریم سراغ روش های تعریف رویداد های مختلف:
📌روش اول (روش سنتی و معمول):
void C_Button()
{
Button btn = new Button
{
Size = new Size(150, 46),
Location = new Point(61, 61),
Name = "btn1",
Text = "کلید سفارشی"
};
this.Controls.Add(btn);
btn.Click += Btn_Click; // این خط کد مربوط به تعریف رویداد کلیک است و به تابع پایین اشاره می کند
}
private void Btn_Click(object? sender, EventArgs e)
{
MessageBox.Show("کلید زده شد.");
}
در این روش نام شی (btn) همراه با رویداد Click تعریف می شود سپس از += و در انتها اشاره به تابعی دارد که می تواند این رویداد را هندل کند. در تابع مورد نظر که هم می توان آن را جدید ساخت و یا اشاره به یک تابع از قبل تعریف شده نماید.
📌روش دوم:
در این روش که یک روش صحیح و البته بروزی نیز می باشد، دیگر نیازی به تعریف تابع نیست و دستور مورد نظر برای هر رویداد مستقیما تعریف می شود.
void C_Button() //تابع مربوط به ایجاد و خلق کلید
{
Button btn = new Button
{
Size = new Size(150, 46),
Location = new Point(61, 61),
Name = "btn1",
Text = "کلید سفارشی"
};
this.Controls.Add(btn);
//تعریف هندل رویداد کلیک
btn.Click += (sender, e) =>
{
MessageBox.Show("دکمه کلیک شد!");
};
}
در این روش که به صورت لامبدا تعریف شده است، مستقیما رویداد و نحوه هندل کردن آن درون همان تابع تعریف می شود.

مشاهده نتیجه: