我的表单上有大约10个按钮,我希望它们可以调用相同的Click事件处理程序。
但是为此我需要对事件处理程序进行泛化,我们在VB.NET中没有“this”关键字来引用导致事件的控件。
如何在VB.NET中实现“this”关键字的功能?
我希望能够编写一个执行以下操作的事件处理程序:
Private Sub cmdButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdButton1.Click
currentTag = this.Tag
End Sub
答案 0 :(得分:7)
在VB中,如何在VB.NET中实现“this”关键字的功能?
this
被称为Me
。但是,这与您的代码无关,并且引用了包含类,在您的情况下很可能是当前的Form
。将其转换为sender
后,您需要访问Control
对象参数:
currentTag = DirectCast(sender, Control).Tag
答案 1 :(得分:1)
在VB.NET中,Me
相当于C#的this
。
答案 2 :(得分:0)
我认为您需要Me
关键字。
答案 3 :(得分:0)
在VB.NET中this
被称为me
,关于VB.NET处理程序的第二个问题的解决方案是:您可以在Handles
末尾添加Private Sub
{1}}声明,如:
Private Sub cmdButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles cmdButton1.Click, 'cmdButton2.click, cmdButton3.click'
currentTag = this.Tag
End Sub