C # Отключить контекстные окна по умолчанию изнутри текстового поля - PullRequest
1 голос
/ 16 декабря 2011

Я отключил контекстную полосу по умолчанию в своей форме и заменил ее собственной.В моем контекстном меню у меня есть toolstriptextbox, однако, если щелкнуть по нему правой кнопкой мыши, откроется контекстное меню окон по умолчанию. Заранее спасибо за любые ответы, С уважением, Дейв

1 Ответ

6 голосов
/ 16 декабря 2011

Самый простой способ удалить стандартное контекстное меню - определить собственное (пустое) меню:

myTextBox.ContextMenuStrip = new ContextMenuStrip();

В одной строке будут удалены параметры щелчка правой кнопкой мыши по умолчанию. Следует понимать, что сочетания клавиш ( Ctrl - C , Ctrl - X , Ctrl - V , Ctrl - A , Ctrl - Z ) все будут работать; Вы не отключаете базовую функциональность, просто доступ к ней с помощью мыши.

Для TextBox в ContextMenu другого TextBox это немного сложнее, но в основном вы можете напрямую получить доступ к TextBox, содержащемуся в ToolStripItem, используя свойство TextBox элемента. Это свойство ванили System.Windows.Forms.TextBox, как и любое другое в вашем приложении:

myToolStripTextBox.TextBox.ContextMenuStrip = new ContextMenuStrip();
...