专家介绍,
在按钮单击期间,我在Windows应用程序中遇到一个问题 .
我有两个文件A.cs和B.cs
在A.cs文件中,我有一个名为“Load”的按钮,当我单击此按钮时,我需要在B.cs中触发一个函数 .
为此,我编写了一个事件处理程序 .
常用文件:
public delegate void MyEventHandler(object sender,EventArgs e,string TagId);
A.cs文件:
公共事件MyEventHandler OnTagLoad; private void btnLoad_Click(object sender,EventArgs e){if(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窗体中实现这一点 .
感谢您的帮助 .
1 回答
听起来好像
被多次召唤 . 将它移动到类中仅调用一次的位置,或者在再次添加之前删除处理程序,如下所示
(我推荐第一种方法)