2015-05-05 93 views
1

按鈕的名字,我有一個事件處理程序處理多個按鈕的單擊事件:獲取觸發事件

Private Sub primeHandler(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _2s.Click, _3s.Click, _4s.Click, _5s.Click, _6s.Click 

End Sub 

_2s,_3s等都是按鈕。 現在我需要一種方法來確定哪個按鈕觸發了事件,並獲取按鈕的名稱作爲字符串。任何方式來做到這一點?謝謝

+1

'sender'是觸發事件的控件 – Plutonix

+2

您使用的是什麼?根據我的經驗,這幾乎總是表明其他設計缺陷。 –

回答

1

使用sender - 這是它設計的目的。

MessageBox.Show((sender as Button).Name); 

如果您打算多次使用它,請將其分配給變量以使其更容易。

var button = (sender as Button); 
MessageBox.Show(button.Name); 
4

你可以施放sender鍵入Button並訪問Name屬性。

Private Sub primeHandler(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _2s.Click, _3s.Click, _4s.Click, _5s.Click, _6s.Click 
    Dim myButton As Button = CType(sender, Button) 
    Dim myName As String = myButton.Name 
End Sub