2014-02-12 3 views
-1

Хорошо, поэтому я попытаюсь объяснить это как можно лучше.Отправитель подменю

Я пытаюсь получить sender.name из подменю в моем MenuStrip

Menu1 
-----Menu3 
----------Menu3 

Я хочу, чтобы установить текст надписи на «Menu1 menu2 menu3»

Я не знаю, если это достаточно информации или объяснено достаточно, я стараюсь изо всех сил.

+0

Вы не очень хорошо объяснили это. Вы говорите, что когда пользователь нажимает на элемент меню, вы хотите получить целую цепочку предков этого элемента меню, например. в обработчике событий Click Menu3 вы хотите узнать, что он является дочерним элементом Menu2, и что это ребенок из Menu1? – jmcilhinney

+0

Вот что я хотел бы просто не знаю, как это объяснить ... – user1893145

+0

Мы все пользователи Windows, поэтому отсутствие опыта программирования не является оправданием того, что вы не можете объяснить, какие шаги вы хотите выполнить в приложении. Нигде вы не отметили щелчок по пункту меню, но каждый, кто использует Windows, знает об щелчке. – jmcilhinney

ответ

0

E.g.

Private Sub Menu3ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles Menu3ToolStripMenuItem.Click 
    Dim menuItemTexts As New List(Of String) 
    Dim menuItem = DirectCast(sender, ToolStripMenuItem) 

    menuItemTexts.Add(menuItem.Text) 

    While menuItem.OwnerItem IsNot Nothing 
     menuItem = DirectCast(menuItem.OwnerItem, ToolStripMenuItem) 
     menuItemTexts.Insert(0, menuItem.Text) 
    End While 

    MessageBox.Show(String.Join(" ", menuItemTexts)) 
End Sub 
Смежные вопросы