簡體   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