接线和无线接线

时间:2012-05-03 07:36:13

标签: c#

在某些情况下,我发现,开发人员无线事件然后再次连接它:

control.Click -= new eventHandler(eventHandler)
control.Click += new eventHandler(eventHandler)

为什么他们这样做?

3 个答案:

答案 0 :(得分:4)

可能因为中间还有其他代码会触发事件,并且他们不希望eventHandler对其采取行动。恕我直言,这不是最好的做事方式,但它很容易而且有效。

如果其间有 no 其他代码,则无法再次删除和添加相同的事件处理程序。

答案 1 :(得分:3)

我可以用一个简单的screnerio来解释这个。

想象一下你有一个“button1” 并且您在运行时添加了该事件。

但是点击此按钮后。它背后的过程需要说“3Mins”来完成。 并且您不希望用户再次单击此按钮。

所以你可以通过第一次解开它来做。 这样人就不会一次又一次地点击按钮。并在队列中添加指令。

答案 2 :(得分:0)

如果您调用连接事件的代码,并且如果它已经连线,您不会意外地再次连接它,您可以取消连接,然后重新连接它。这是上面的代码示例。

如果它首先没有连线,则不会抛出任何错误。但是如果代码已经先运行过,那么你不会让事件运行两次。因此,unwire然后重新连接。