VB.NET控件不可见

时间:2012-03-26 22:12:18

标签: vb.net winforms controls

我正在尝试查看Me.Controls中的所有标签以及我何时使用:

For Each Control As Label In Me.Controls.OfType(Of Label)()
    MsgBox(Control.Name.ToString)
Next

它只显示尚未重命名的标签。我在这里做错了吗?

1 个答案:

答案 0 :(得分:3)

在大多数情况下,您的代码看起来是正确的,除非您在其他容器控件(如Panels和GroupBoxes)中有标签。在这种情况下,您也需要遍历这些容器。

以下是一个例子:

Dim allContainers As New Stack(Of Control)
allContainers.Push(Me)
While allContainers.Count > 0
  For Each item As Control In allContainers.Pop.Controls
    If item.Controls.Count > 0 Then
      allContainers.Push(item)
    End If
    If TypeOf item Is Label Then
      MessageBox.Show("Label.Name = " + item.Name)
    End If
  Next
End While