【发布时间】:2021-03-27 22:13:09
【问题描述】:
我试图在单击按钮后在运行时更改不同标签的可见性
Dim labelsEmpty As New ArrayList
Dim allTxt As New List(Of Control)
For Each txt As TextBox In FindControlRecursive(allTxt, Me, GetType(TextBox))
If txt.Text = "" Then
If txt.Name = "TextBox1" Then
Else
'Dim textBoxName = txt.Name.ToString.Remove("txt").ToLower
labelsEmpty.Add(txt.Name.ToString.Replace("txt", "lblMsg"))
End If
End If
Next
For Each label In labelsEmpty
Dim Label1 As New Label
Label1.Name = label
Label1.Text = "Insert a value"
Label1.Visible = True
Next
这就是我所拥有的,表单中的每个文本框都有一个标签,用于告诉用户存在某种错误,在这种情况下,我需要获取哪个文本框为空并将其标签的可见性设置为true(已经从表单开始隐藏),所以我要做的是浏览表单中的每个文本框,看看用户留空了哪个文本框,然后取他们的名字(例如:txtAge)并将 txt 替换为“lblMsg”,然后插入将它们放入一个数组中。
这样做我得到一个包含所有标签名称的数组,应该设置为可见 = true
现在我需要设置它们的可见性和文本值,所以我所做的是为每个循环创建一个并获取数组中的每个标签,但是我使用的代码不起作用,我已经检查了是否有项目阵列,他们在那里,有什么帮助吗?谢谢。
【问题讨论】:
标签: arrays vb.net label runtime