Привет дамы и господа!
У меня есть MenuStrip
, и я хочу иметь ContextMenu
с такой же структурой. Могу ли я использовать свой MenuStrip
как ContextMenu
или быстро создать ContextMenu
с DataSource из MenuStrip
?
Спасибо!
Привет дамы и господа!
У меня есть MenuStrip
, и я хочу иметь ContextMenu
с такой же структурой. Могу ли я использовать свой MenuStrip
как ContextMenu
или быстро создать ContextMenu
с DataSource из MenuStrip
?
Спасибо!
Я не верю, что вы можете использовать предмет из MenuStrip
как ContextMenuStrip
. Я сталкивался с этим раньше, и я согласен с тем, что меню должно быть меню, но они, по-видимому, реализованы как разные элементы управления, потому что они требуют немного другой функциональности под обложками.
Однако вы можете использовать ContextMenuStrip
в качестве раскрывающегося меню для элемента управления MenuStrip
. Таким образом, вы можете добиться желаемого поведения, действуя наоборот. Спроектируйте ContextMenuStrip
как хотите, а затем назначьте его DropDown
свойство для ToolStripMenuItem
верхнего уровня на MenuStrip
, для которого вы хотите, чтобы отображалось это меню.
Или вы можете пойти длинным путем и создать два разных меню в Конструкторе, но скопировать и вставить элементы из одного меню в другое. Это, по крайней мере, сэкономит вам время на разработку двух одинаковых меню. Вы даже можете подключить обработчики событий (скажем, для 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
Если вы ищете краткий ответ, ответьте: Нет.