接线和断开接线事件
本文关键字:接线 事件 断开 | 更新日期: 2023-09-27 18:33:13
在某些情况下,我发现开发人员会取消连接事件,然后像这样再次连接它:
control.Click -= new eventHandler(eventHandler)
control.Click += new eventHandler(eventHandler)
他们为什么要这样做?
可能是因为中间有其他代码会触发事件,他们不希望eventHandler
对其执行操作。恕我直言,这不是做事的最佳方式,但它很容易而且有效。
如果中间没有其他代码,则不可能有理由再次删除并添加相同的事件处理程序。
我可以用一个简单的screnerio来解释这一点。
假设你有一个"按钮1"并且您在运行时添加了事件。
但是一旦单击此按钮。它背后的过程需要说"3分钟"才能完成。而且您不希望用户再次单击此按钮。
因此,您可以通过在第一次取消布线来做到这一点。这样这个人就不会一次又一次地点击按钮。并将指令添加到队列中。
如果您调用连接事件的代码,并且如果它已经连接,您不会意外地再次连接它,则可以取消连接,然后重新连接它。 这是上面的代码示例。
如果一开始就没有接线,则不会引发错误。但是,如果代码已经先运行,则事件不会运行两次。 因此,取消连接,然后重新布线。