Я занимаюсь графическим интерфейсом для рисованной программы, где пользователь сможет выбрать инструмент рисования из ToolStrip. Некоторые из этих инструментов имеют вариации, и я хотел бы, чтобы пользователь мог выбрать один из всплывающего меню.ToolStripButton с всплывающим меню?
Любой, кто знаком с интерфейсом панели инструментов Photoshop, узнает, что мне нужно: пользователь может либо нажать кнопку, либо начать работу с выбранным инструментом, либо выбрать один из инструментов из всплывающего меню, которое появляется при нажатии, и с этой точки на кнопке будет отображаться этот инструмент. Кроме того, кнопка будет иметь свойство Проверено значение Истина, если выбрано это семейство инструментов.
Я думал, что это может быть выполнено с помощью SplitButton или DropDownButton, но у них нет свойства Checked, чтобы пользователь мог видеть, какой инструмент выбран в данный момент. Поэтому я пошел с ToolStripButton и ContextMenuStrip, который отображается при нажатии.
Проблема заключается в том, что, поскольку я беру позицию курсора для отображения ContextMenuStrip, в зависимости от того, какая часть элемента ToolStripButton нажата, всплывающее меню может частично покрывать его, и это очень неполированный вид. Как я могу получить координаты экрана ToolStripButton? Или есть лучший (и все еще относительно простой) способ сделать это?
Это не выглядит как родной. Думаю, я просто буду придерживаться своего метода. Есть ли способ получить точные координаты экрана ToolStripButton (так что я всегда могу открыть ContextMenuStrip там)? – Mike
Я не понимаю, когда вы говорите, что это не выглядит родным. Кроме того, кнопка разделения на полосе инструментов имеет встроенное контекстное меню, поэтому вам не нужно вручную позиционировать или отображать контекстное меню. – snarf