Windows应用程序 - 自定义事件被多次调用

问题描述:

专家,Windows应用程序 - 自定义事件被多次调用

我在按钮单击过程中遇到Windows应用程序中的一个问题。

我有两个文件A.cs & B.cs

在A.cs文件我称之为“加载”按钮,当我点击这个按钮,我需要触发B.cs.功能

为此,我写了一个事件处理程序。

通用文件:

公共委托无效一个MyEventHandler(对象发件人,EventArgs的,串TAGID);

A.cs文件:

公共事件一个MyEventHandler OnTagLoad;

私人无效btnLoad_Click(对象发件人,EventArgs的) { 如果(OnTagLoad!= NULL){ OnTagLoad(发件人,即,runTimeData); } }

B.cs文件:

HostForm.OnTagLoad + =新一个MyEventHandler(HostForm_OnTagLoad);

私人无效HostForm_OnTagLoad(对象发件人,EventArgs的,串runTimeData) {// 做一些功能 }

问题:

当我点击Load按钮是越来越触发事件两次,如果我再次点击按钮,相同的事件被称为三次,依此类推......

每当我点击加载按钮事件应该只被解雇一次。我们怎样才能以windows的形式实现这一点。

感谢您的帮助。

+0

请出示您的代码中调用任何地方之前删除处理程序或者有OnTagLoad。 – Bit

听起来

HostForm.OnTagLoad += new MyEventHandler(HostForm_OnTagLoad); 

被多次调用。无论是将其移动到班上的位置仅被调用一次或重新加入这样

HostForm.OnTagLoad -= new MyEventHandler(HostForm_OnTagLoad); 
HostForm.OnTagLoad += new MyEventHandler(HostForm_OnTagLoad); 

(我推荐的第一种方法)

+0

这种方法我已经尝试过,并没有给任何运气。 –

+0

你试过两种方法吗?如果是这样,那么你的帖子中显示的东西比你在问题中显示的要多。 – keyboardP

+0

基本上我在B.cs文件的构造函数中订阅事件。这是造成这个问题吗? –