获取点击事件中按钮的ID /名称.VB.NET

plu*_*uke 10 vb.net

我在VB.NET中有一个事件可以同时处理几个按钮点击.我需要知道选择中的哪个按钮启动了该事件.任何想法如何做到这一点?我的代码如下:

Private Sub Answer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnswer1.Click, btnAnswer2.Click, btnAnswer3.Click, btnAnswer4.Click
    'output button ID that caused event
End Sub
Run Code Online (Sandbox Code Playgroud)

我试过了sender.Id,e.Id,sender.name,e.name.他们都没有工作

小智 16

您必须将发件人强制转换为期望的对象类型.

 Dim btn As Button = CType(sender, Button)
Run Code Online (Sandbox Code Playgroud)

然后,您可以访问所需的内容.

  • [更好地使用`DirectCast`而不是`CType`](http://stackoverflow.com/a/103285/1968),它使意图更清晰:我们想*downcast*一个动态类型,而不是*convert*一个静态类型. (9认同)