在某些情况下,我发现,开发人员取消连接事件,然后像这样再次连接它:
control.Click -= new eventHandler(eventHandler)
control.Click += new eventHandler(eventHandler)
他们为什么这样做?
在某些情况下,我发现,开发人员取消连接事件,然后像这样再次连接它:
control.Click -= new eventHandler(eventHandler)
control.Click += new eventHandler(eventHandler)
他们为什么这样做?
可能是因为中间有其他代码会触发事件,而他们不想eventHandler
对其采取行动。恕我直言,这不是做事的最佳方式,但它很容易而且很有效。
如果两者之间没有其他代码,则不可能有理由再次删除并添加相同的事件处理程序。
我可以用一个简单的场景来解释这一点。
想象一下,您有一个“button1”并且您在运行时添加了事件。
但是一旦单击此按钮。它背后的过程需要说“3分钟”才能完成。而且您不希望用户再次单击此按钮。
因此,您可以在第一时间取消接线。这样该人就不会一次又一次地单击该按钮。并将指令添加到队列中。
如果您调用连接事件的代码,并且如果它已经连接,您不会不小心再次连接它,您可以取消连接,然后重新连接它。这是上面的代码示例。
如果它一开始还没有连接,则不会引发错误。但是如果代码已经先运行,你不会让事件运行两次。因此,先拆线,然后重新布线。