从按钮标签获取文本框

Get textbox from Button Tag

我尝试从 Button.Tag 中获取 TextBox

我有 X 个按钮,每个 Button 都有一个自己的 TextBox

不是我想要所有按钮的一种点击方法并从 Button.Tag 获得正确的 TextBox,但这不起作用。

有人可以帮我解决这个问题吗?

 Dim Textbox As TextBox = CType(DirectCast(sender, Button).Tag, TextBox)
 Textbox.Text = ""

使用此代码我得到以下异常:

System.InvalidCastException: "Das Objekt des Typs "System.String" kann nicht in Typ "System.Windows.Forms.TextBox" umgewandelt werden."

您的代码试图将 StringTextBox 的名称)转换为 TextBox,这不会起作用。

所以你要么必须通过这样的代码分配 TextBox

Button1.Tag = TextBox1
Button2.Tag = TextBox2
...

或通过名称查找 TextBox,如下所示:

Dim Textboxname As String = DirectCast(sender, Button).Tag.ToString()
Dim Textbox As TextBox = DirectCast(Me.Controls.Find(Textboxname, True).First(), TextBox)
Textbox.Text = ""