问题描述
我有一个窗体上有许多个按钮,这些按钮都放在了tableLayoutPanel中,我需要编用这些按钮的click()事件,但是由于按钮实在太多(约五十来个),一个一个的编写实在是太烦,它们的click()事件中的内容都是把所被单击按钮的名字赋给一个button数组,例:
button1_click()
{
button[i]=button1;
}
请教一下有没有简单的办法可以解决这个问题,先谢谢了!
我有一个窗体上有许多个按钮,这些按钮都放在了tableLayoutPanel中,我需要编用这些按钮的click()事件,但是由于按钮实在太多(约五十来个),一个一个的编写实在是太烦,它们的click()事件中的内容都是把所被单击按钮的名字赋给一个button数组,例:
button1_click()
{
button[i]=button1;
}
请教一下有没有简单的办法可以解决这个问题,先谢谢了!
{
for (int i = 0; i < 10; i++) // 10个控件
{
Button btn = new Button();
btn.Name = btn.Text = "btn" + i.ToString();
btn.Parent = this; // 此处设置btn的父控件为窗体
btn.Location = new Point(10, i * 20); // 定制位置
btn.Click += new EventHandler(Custom_Click); // 添加事件
}
}
private void Custom_Click(object sender, EventArgs e)
{
MessageBox.Show(string.Format("Name:{0},Text:{1}", ((Button)sender).Name, ((Button)sender).Text));
}
foreach (Control control in tableLayoutPanel.Controls)
{
if(control is Button)
{
((Button)control).Click += new EventHandler(button1_click);
}
}void button1_click(object sender, EventArgs e)
{
button[i]= sender as Button;
}
int i = 0;
private void button1_Click(object sender, EventArgs e)
{
m_bs[i] = (Button)sender;
i++;
}