【发布时间】:2013-07-29 08:35:31
【问题描述】:
专家,
在单击按钮期间,我在 Windows 应用程序中遇到了一个问题。
我有两个文件 A.cs 和 B.cs
在 A.cs 文件中,我有一个名为“加载”的按钮,当我单击此按钮时,我需要在 B.cs 中触发一个函数。
为此,我编写了一个事件处理程序。
通用文件:
public delegate void MyEventHandler(object sender, EventArgs e, string TagId);
A.cs 文件:
公共事件 MyEventHandler OnTagLoad;
private void btnLoad_Click(object sender, EventArgs e) { 如果(OnTagLoad!= null) { OnTagLoad(sender, e, runTimeData); } }
B.cs 文件:
HostForm.OnTagLoad += new MyEventHandler(HostForm_OnTagLoad);
private void HostForm_OnTagLoad(object sender, EventArgs e, string runTimeData) { //做一些功能 }
问题:
当我点击加载按钮时,事件被触发两次,如果我再次点击按钮,同样的事件被调用三次,依此类推......
每当我单击加载按钮时,事件应该只被触发一次。我们如何在 Windows 窗体中实现这一点。
感谢您的帮助。
【问题讨论】:
-
请显示代码中调用或具有 OnTagLoad 的任何位置。