Я не верю, что вы можете использовать предмет из 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