c #WinForms -Запретить закрытие ContextMenu после щелчка по определенным элементам

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

ContextMenu WPF имеет свойство StaysOpen, а Win Forms — нет. (Можно ли как-нибудь использовать ContextMenu WPF? )Я не хочу использовать ContextMenuStrip, который может это сделать, потому что ContextMenu выглядит намного лучше.

Изменить:

Я не собираюсь отмечать это как решение, потому что это нехорошо. Если вам нужно сделать то, что задает мой вопрос, одним из способов было бы создать UserControl из WPF, а затем поместить в него объект с контекстным меню, а затем добавить к нему контекстное меню. Теперь, поскольку это в WPF, на кнопках, которые вы не хотите закрывать меню при нажатии, установите для свойства StaysOpenOnClick значение true в MenuItem. Затем просто поместите этот UserControl в свое приложение WinForms.

11
задан Jonathan Leffler 1 January 2014 в 05:07
поделиться