Могу ли я использовать MenuStrip в качестве ContextMenu? - PullRequest
2 голосов
/ 12 ноября 2010

Привет, дамы и господа!

У меня есть MenuStrip и я хочу иметь ContextMenu с такой же структурой. Могу ли я использовать MenuStrip как ContextMenu или быстро создать ContextMenu с источником данных из MenuStrip?

Спасибо!

Ответы [ 2 ]

4 голосов
/ 12 ноября 2010

Я не верю, что вы можете использовать предмет из MenuStrip как ContextMenuStrip.Я сталкивался с этим раньше, и я согласен, что меню должно быть меню, но они, очевидно, реализованы как разные элементы управления, потому что они требуют немного другой функциональности под крышками.

Однако, вы Можно использовать ContextMenuStrip в качестве раскрывающегося меню для элемента управления MenuStrip.Таким образом, вы можете достичь желаемого поведения, если будете делать это наоборот.Создайте ContextMenuStrip так, как вы хотите, а затем присвойте его свойству DropDown для верхнего уровня ToolStripMenuItem на MenuStrip, для которого вы хотите, чтобы это меню отображалось.

Или вы можете пройти долгий путь и создать два разных меню в Designer, но скопировать и вставить элементы из одного меню в другое.Это, по крайней мере, сэкономит вам время на создание двух одинаковых меню.Вы даже можете подключить обработчики событий (скажем, для событий Click каждого элемента меню) для обработки элементов из обоих меню.Например, в VB.NET ключевое слово Handles делает это чрезвычайно простым:

Private Sub Exit_Click(ByVal sender As Object, ByVal e As EventArgs) _
   Handles exitMenuItem.Click, exitContextMenuItem.Click
   Me.Close()
End Sub
1 голос
/ 12 ноября 2010

Если вы ищете короткую позицию, ответьте: Нет .

...