Sender代表什么

'Sender 代表什么

' 我目前的理解是, Sender 代表当前实例,而不是发出事件的主体

' 请验证

Private Sub Button1_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Console.WriteLine(sender.ToString)

'return "System.Windows.Forms.Button(, Text) : Button1()"

End Sub

Private Sub Button2_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Console.WriteLine(sender.ToString)

'return "System.Windows.Forms.Button(, Text) : Button2()"

End Sub

Private Sub Button3_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Button1_Click(sender, e)

'return "System.Windows.Forms.Button(, Text) : Button3" 是 Button3 而并非是 Button1

End Sub

' 这样更直观了

Dim mStr As String = " 试试 "

Private Sub Button1_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

If sender Is mStr Then MsgBox(sender.ToString)

End Sub

Private Sub Button3_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Button1_Click(mStr, e)

End Sub

Published At
Categories with Web编程
Tagged with
comments powered by Disqus