Я пытаюсь увидеть все метки в Me.Controls, и когда я использую:
Me.Controls
For Each Control As Label In Me.Controls.OfType(Of Label)() MsgBox(Control.Name.ToString) Next
, отображаются только метки, которые НЕ были переименованы.Я что-то здесь не так делаю?
По большей части ваш код выглядит правильно, если только у вас нет меток внутри других элементов управления контейнера, таких как 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