Vb.net 获取触发事件的按钮的名称
我有一个处理多个按钮单击事件的事件处理程序:Vb.net 获取触发事件的按钮的名称,vb.net,winforms,events,Vb.net,Winforms,Events,我有一个处理多个按钮单击事件的事件处理程序: 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 _2、3等都是按钮。 现在我需要一种方法来确定哪个按钮触发了事件,并将按钮的名称作为字符串。有办法吗?谢谢使用发送者——这就是它的设计目的
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
_2、3等都是按钮。
现在我需要一种方法来确定哪个按钮触发了事件,并将按钮的名称作为字符串。有办法吗?谢谢使用
发送者
——这就是它的设计目的
MessageBox.Show((sender as Button).Name);
如果要不止一次地使用它,请将其分配给一个变量以使其更简单
var button = (sender as Button);
MessageBox.Show(button.Name);
使用
sender
——这就是它的设计目的
MessageBox.Show((sender as Button).Name);
如果要不止一次地使用它,请将其分配给一个变量以使其更简单
var button = (sender as Button);
MessageBox.Show(button.Name);
您可以将
发送者
强制转换为键入按钮
并访问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
您可以将
发送者
强制转换为键入按钮
并访问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
sender
是触发事件的控件,您使用它的目的是什么?根据我的经验,这几乎总是表明其他地方存在设计缺陷。sender
是触发事件的控件,您使用它的目的是什么?根据我的经验,这几乎总是表明其他地方存在设计缺陷。