Здравствуйте
как можно в цикле пройти по все пунктам Меню MDI формы
Спасибо
Viper писал(а):Поскольку пункты меню соедржатся в коллекции, то цикл For Each легко поможет реализовать перечисление.
Получается? Или не получается? Если не получается, то что? Если получается, то, опять же, что?Arto писал(а):а нельзя ли поподробней что то у меня получается
Dim mnuItem As MenuItem
For Each mnuItem In Me.Menu.MenuItems
Debug.Print mnuItem.Name
Next
Viper писал(а):Получается? Или не получается? Если не получается, то что? Если получается, то, опять же, что?Arto писал(а):а нельзя ли поподробней что то у меня получается
Должно быть типо так
- Код: Выделить всё
Dim mnuItem As MenuItem
For Each mnuItem In Me.Menu.MenuItems
Debug.Print mnuItem.Name
Next
А вот для dropdownmenu надо разбирать свою коллекцию. Если у элемента есть подменю, то обрабатывать их надо отдельно. Что-то типа рекурсии.Arto писал(а):а вот dropdownmenu получить не могу
MIT писал(а):А вот для dropdownmenu надо разбирать свою коллекцию. Если у элемента есть подменю, то обрабатывать их надо отдельно. Что-то типа рекурсии.Arto писал(а):а вот dropdownmenu получить не могу
For Each item As ToolStripMenuItem In Me.MenuStrip1.Items
For i As Integer = 0 To item.DropDownItems.Count - 1
MsgBox(item.DropDownItems(i).Text)
Next
Next
PrintAllMenuItems(Me.MenuStrip.Items)
Sub PrintAllMenuItems(ByVal MnuCol As ToolStripItemCollection)
Dim mi As ToolStripMenuItem
For Each it As ToolStripItem In MnuCol
If Not (TypeOf it Is ToolStripMenuItem) Then Continue For
mi = DirectCast(it, ToolStripMenuItem)
Debug.WriteLine(mi.Text)
PrintAllMenuItems(mi.DropDownItems)
Next
End Sub
Nord777 писал(а):Этот код не перебирает все саб'итемы.
надо как-то так
- Код: Выделить всё
PrintAllMenuItems(Me.MenuStrip.Items)
- Код: Выделить всё
Sub PrintAllMenuItems(ByVal MnuCol As ToolStripItemCollection)
Dim mi As ToolStripMenuItem
For Each it As ToolStripItem In MnuCol
If Not (TypeOf it Is ToolStripMenuItem) Then Continue For
mi = DirectCast(it, ToolStripMenuItem)
Debug.WriteLine(mi.Text)
PrintAllMenuItems(mi.DropDownItems)
Next
End Sub
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 72