繁体   English   中英

接线和无线接线

[英]wiring and unwiring event

在某些情况下,我发现,开发人员将无线事件再次连线,如下所示:

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

为什么他们这样做?

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

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM