自定义事件被多次调用
专家介绍,
点击按钮时,我正面临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);
私人无效HostForm_OnTagLoad(对象发件人,EventArgs e,字符串runTimeData){//做一些功能}
问题:
当我点击加载按钮时,事件触发两次,如果再次点击按钮,相同事件被调用三次,等等......
每当我点击加载按钮,事件应该只被解雇一次。 我们怎样才能以windows的形式实现这一点。
感谢你的帮助。
听上去像
HostForm.OnTagLoad += new MyEventHandler(HostForm_OnTagLoad);
被多次调用。 将它移动到只调用一次的类中的某个位置,或者在再次添加之前移除该处理程序
HostForm.OnTagLoad -= new MyEventHandler(HostForm_OnTagLoad);
HostForm.OnTagLoad += new MyEventHandler(HostForm_OnTagLoad);
(我推荐第一种方法)
链接地址: http://www.djcxy.com/p/6067.html上一篇: Custom Event is getting called multiple times
下一篇: Can't disconnect form Excel Introp after saving created Excel File