У меня есть панель инструментов, которая содержит ToolStripDropDownButton. В качестве альтернативного метода доступа я также хотел бы иметь возможность отображать раскрывающееся меню этой кнопки в виде контекстного меню, когда пользователь щелкает правой кнопкой мыши в области под панелью инструментов.
Я попробовал следующий код, но он не работал (он отображал выпадающий список кнопки в обычном месте, прямо под кнопкой):
Point contextMenuLocation = [get from WM_CONTEXTMENU]
myButton.DropDown.Show( contextMenuLocation );
Лучшая идея, которую я могу придумать, это скопировать элементы панели инструментов из раскрывающегося списка кнопки в ContextMenuStrip, но я не вижу простого способа сделать это (ToolStripItem не реализует метод ICloneable или метод Clone). Элементы полосы инструментов хранят ссылку на своего родителя, поэтому я не могу просто добавить существующие элементы в контекстное меню, так как это сломает кнопку.
У кого-нибудь есть хорошая идея, как этого добиться?