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的形式实现这一点。
感谢您的帮助。
听起来
HostForm.OnTagLoad += new MyEventHandler(HostForm_OnTagLoad);
被多次调用。无论是将其移动到班上的位置仅被调用一次或重新加入这样
HostForm.OnTagLoad -= new MyEventHandler(HostForm_OnTagLoad);
HostForm.OnTagLoad += new MyEventHandler(HostForm_OnTagLoad);
(我推荐的第一种方法)
这种方法我已经尝试过,并没有给任何运气。 –
你试过两种方法吗?如果是这样,那么你的帖子中显示的东西比你在问题中显示的要多。 – keyboardP
基本上我在B.cs文件的构造函数中订阅事件。这是造成这个问题吗? –
请出示您的代码中调用任何地方之前删除处理程序或者有OnTagLoad。 – Bit