Получить ContextMenu из дескриптора? - PullRequest
0 голосов
/ 22 декабря 2010

Возможно ли получить экземпляр System.Windows.Forms.ContextMenu из дескриптора? Под выборкой я имею в виду сборку из ручки, чтение каждого элемента и т. Д.

Внимание, это не a System.Windows.Forms.ContextMenuStrip.


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

1 Ответ

1 голос
/ 22 декабря 2010

Ах, ваши изменения проясняют: у вас есть HMENU системного меню окна, и вы хотите показать это контекстное меню.

Но с какой стати вы хотите перетащить в контекст класс WinForms ContextMenu? Он предназначен для создания ваших собственных меню и написания кода .NET для реагирования на их события нажатия. Он не подходит для системных меню, которые уже заполнены и уже содержат всю обработку кликов.

Если у вас уже есть HMENU для системного меню, то все, что вам нужно сделать, это указать Windows API, чтобы оно отображалось в виде контекстного меню. Это можно сделать с помощью P / Invoking для TrackPopupMenu .

...