从按钮标签获取文本框

时间:2019-06-19 11:29:51

标签: vb.net textbox

我尝试从TextBox那里获得Button.Tag

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

不是我想要一个用于所有按钮的点击方法,并从TextBox获取正确的Button.Tag,但这是行不通的。

有人可以帮我吗?

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

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

  

System.InvalidCastException:类型“ System.Windows.Forms.TextBox”中的字体“ System.String”拼写提示。”

1 个答案:

答案 0 :(得分:1)

您的代码尝试将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 = ""