在控件上添加事件 - 我如何引用控件本身

add event on controls - how can i refer to the control itself

我想在我的多个文本框中添加相同的事件。比方说,我希望我所有的文本框在失去焦点时 trim 自身的文本值

我的想法是遍历所有文本框并为所有文本框添加一个事件处理程序,但我将如何引用文本框本身,我认为这与使用 "this" 关键字相同,但它在 vb.net 中不可用 - 还有其他建议吗?

为了获取触发事件的元素,您可以使用事件的 sender 参数并将其转换为所需的类型。从问题中不清楚您使用的是哪个平台,但下面是 Windows 表单的示例代码:

Private Sub txt1_TextChanged(sender As Object, e As EventArgs) Handles txt1.TextChanged
    Dim currentTextbox as TextBox = CType(sender, TextBox)
    ' Do what you want with the textbox
End Sub

类似的原则也应该适用于 Web 窗体或 WPF。

遍历所有文本框对所有文本框使用句柄

Private Sub TextBox1_LostFocus(sender As Object, e As EventArgs) _
    Handles TextBox1.LostFocus, TextBox2.LostFocus
    Dim txtBox As TextBox = sender
    txtBox.Text = Strings.Trim(txtBox.Text)
End Sub