自定义事件被多次调用

专家介绍,

点击按钮时,我正面临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