【发布时间】:2017-08-03 14:07:44
【问题描述】:
这是我在这里的第一篇文章...我进行了搜索,但我找不到这个基本问题的解决方案(仍然是 C# 新手。抱歉,感谢您的帮助):这个基本的按钮处理程序需要点击 2 次才能真正工作...
//button script
private void btnHp1_Click(object sender, EventArgs e)
{btnHp1.Click += new EventHandler(btnTest_Click);}
//handler for all buttons
void btnTest_Click(object sender, EventArgs e)
{
Button button = sender as Button;
MessageBox.Show(button.Name);
}
【问题讨论】:
-
在表单的构造函数中或通过设计器添加事件处理程序。
-
btnHp1_Click是您的点击处理程序。您在这里所做的只是使用您的处理程序连接另一个处理程序。在第二次单击时,您将触发btnHp1_Click(再次),连接btnTest_Click(再次)并触发btnTest_Click。您的第三次点击可能最终会触发两次btnTest_Click。 -
谢谢布拉德利(以及所有),你是对的。您的代码可以解决问题。我想我也应该听从马特的建议。
标签: c# winforms events button eventhandler