我尝试从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”拼写提示。”
答案 0 :(得分:1)
您的代码尝试将String
(TextBox
的名称)转换为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 = ""