e.target在VB.net中

时间:2012-09-14 15:38:55

标签: vb.net events attributes target

使用flash时,我可以通过访问事件的“目标”属性来获得事件的焦点。

所以如果我记得的话,那就是类似的东西了。

button1.addEventListener(mouse_click, doSomething);

doSomething(e: Event){
    e.target.size = 50000;
}

我正在寻找VB中的等价物。

如果你能给我所有语言的通用名称,我会倍加感激。除了“event.target VB.net等价,我不知道要搜索什么,而且没有返回任何内容。

提前致谢。

编辑:对于那些刚接触flash的用户。通过焦点,我的意思是点击的物理对象。所以给出的例子是访问点击按钮的大小。

2 个答案:

答案 0 :(得分:1)

在VB中,您可以使用WithEvents关键字以声明方式连接事件处理程序,或者使用AddHandler强制连接。

Private WithEvents myButton

' OR

Public Sub New
  Dim newButton = New Button()
  AddHandler newButton.Click, AddressOf MyClickHandler
End New

'To consume it you declare a method as follows:
' The Handles clause is used when declaring WithEvents
Private Sub MyClickHandler(sender As Object, e As EventArgs) Handles myButton.Click
  ' The sender has a handle on the object that raised the event (aka the button)
  Dim btn = DirectCast(sender, Button)
  btn.Size = New Size(500, 500)

End Sub

答案 1 :(得分:0)

知道了!

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.onclick.aspx#Y0

    Sub GreetingBtn_Click(ByVal sender As Object, ByVal e As EventArgs)
        'When the button is clicked,
        'change the button text, and disable it.

        Dim clickedButton As Button = sender
        clickedButton.Text = "...button clicked..."
        clickedButton.Enabled = False
    End Sub

第一个参数(默认情况下为sender)引用焦点对象。您可以像访问任何其他常规变量一样访问它,但除非您将其设置为" As"那个特定的数据类型。

所以我最终得到了这个

    Private Sub nw_btn_Click(ByVal sender As System.Windows.Forms.Button, ByVal e AsSystem.EventArgs) Handles nw_btn.Click
        sender.Hide()
    End Sub