Найти все ContextMenuStrips, определенные в форме Windows (необязательно прикрепленные во время выполнения) - PullRequest
0 голосов
/ 26 сентября 2011

В моем проекте winforms для некоторых форм определен набор ContextMenuStrips (через визуального дизайнера студии).

Некоторые из этих контекстных меню были прикреплены к элементам управления, а другие - нет.

Теперь моя проблема заключается в следующем: мне нужно пройти через все ContextMenuStrips во время выполнения, независимо от того, присоединены они или нет.

У меня есть код, который будет рекурсивно проходить через все элементы управления ипроверьте свойство ContextMenuStrip, и это работает нормально .... Однако я не могу получить к ContextMenuStrips, которые еще не были назначены элементу управления.

1 Ответ

2 голосов
/ 26 сентября 2011

Компоненты ContextMenuStrip, которые вы перетаскиваете в форму с конструктором, добавляются в коллекцию «компоненты».Вы можете найти их обратно, повторив это:

    For Each co As System.ComponentModel.Component In Me.components.Components
        If TypeOf co Is ContextMenuStrip Then
            Dim cms = DirectCast(co, ContextMenuStrip)
            '' do something
        End If
    Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...