PDA

View Full Version : Handle کردن چند Button که یه صورت Dynamic ساخته شده



Mousavmousab
یک شنبه 01 دی 1392, 23:22 عصر
سلام

من چند تا Button به صورت Dynamic روی فرم ساختم به طوری که زمان اجرا آن ها را Handle می کنم.

به این صورت است:

http://uploadax.com/images/40607741129898436402.jpg




private void Form1_Load(object sender, EventArgs e)
{

Button[] buttons = new Button[20];
int btnX = 10;
int btnY = 10;

const int space = 10;
const int buttonWidth = 100;

for (int i = 0; i < 20; i++)
{
buttons[i] = new Button();
buttons[i].Text = "Play " + (i + 1).ToString();
buttons[i].Width = buttonWidth;
buttons[i].Height = 27;
buttons[i].Location = new Point(btnX, btnY);
btnY += buttons[i].Height + space;
if ((i == 4) || (i == 9) || i == 14)
{
btnX += buttons[i].Width + space;
btnY = space;

}
buttons[i].Click += new EventHandler(myBtn_click);
}


foreach (var btn in buttons)
{
this.Controls.Add(btn);
}

}

private void myBtn_click(object sender, EventArgs e)
{
MessageBox.Show("Click");
}



اگر روی هر یک از Button ها کلیک شود رویداد mybtn_Click اتفاق می افتد.
من می خوام متوجه بشم کاربر کدام Button را کلیک کرده است؟
چطوری متوجه بشم؟

دوستان کمک کنید.
منتظر نظرات شما هستم.

-------------------------------------------
آموزش کنکوری ویژوال بیسیک 6

Www.homecode.blogfa.com (http://Www.homecode.blogfa.com)

abbas.oveissi
یک شنبه 01 دی 1392, 23:26 عصر
پارامتر اول Event که Sender هست ، در واقع خود دکمه هست که رویداد رخ داده شده،مربوط به اونه . میتونی از روش زیر استفاده کنی :
Button btn=(Button)sender;حالا چک کن اسم btn چیه یا هرکار چیز دیگه که میخوای چک کنی

Mousavmousab
دوشنبه 02 دی 1392, 00:17 صبح
سلام
یه دنیا ممنون