答案 0 :(得分:2)
您可以做的是以编程方式遍历表单上的按钮,并为每个按钮添加事件处理程序。
将它放在表单的构造函数中:
foreach (var ctrl in this.Controls)
{
if (ctrl is Button)
{
((Button) ctrl).Click += MainForm_Click;
}
}
这是你的事件处理程序:
void MainForm_Click(object sender, EventArgs e)
{
listBox1.Items.Add(((Button) sender).Text);
}
Equalsk的建议很好:如果您的表单上有其他按钮,您不希望参与此行为,您可以放置所做的按钮想要在您的表单上的面板或其他控件中。然后,您只需将构造函数中的foreach
更改为:
foreach (var ctrl in this.panel1.Controls)
答案 1 :(得分:0)
在代码隐藏中,您使用for循环为所有按钮分配相同的事件处理程序。该事件处理程序将获得sender
作为第一个参数传递,这是您单击的按钮。对Button
进行类型转换,您可以访问其文本。