2014-03-05 54 views
0

我正在處理事件在vb.net事件引發兩次

AddHandler ButtonOne.Click, AddressOf ButtonClick 

Private Sub ButtonClick(ByVal ctrl As Office.CommandBarButton, ByRef Cancel As Boolean) 
    //do stuff 
End sub 

但我的事件調用twice.when我點擊按鈕,然後在另一種方法也 我正在處理同樣的事件

Private Sub AddToolbar() 
    // do something 
    AddHandler firstButton.Click, AddressOf ButtonClick 
    End 
onces

如何解決此問題? plz幫助我

+2

你剛纔打電話的AddHandler爲同一按鈕的Click事件兩次。刪除其中的一個。 –

+0

ButtonOne.Click和firstButton.Click是兩個不同的按鈕 – Saurabh

+0

這不是你的抱怨所暗示的。當然,「一」和「第一」是可疑的相似。選擇好的標識符名稱並避免在多個變量中存儲對象的引用是避免麻煩的好方法。 –

回答

4

正如漢斯指出....您呼叫的按鈕,點擊兩次......參看下面

AddHandler ButtonOne.Click, AddressOf ButtonClick 'You dont really need this if you add a handler to the sub see below... 

Private Sub ButtonClick(ByVal ctrl As Office.CommandBarButton, ByRef Cancel As Boolean) Handles ButtonOne.Click 
    //do stuff 
End sub 
+0

非常感謝,節省了我很多時間 – Saurabh