|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.06.2012, 20:27 | #1 |
Пользователь
Регистрация: 11.05.2012
Сообщений: 85
|
Не всплывает контекстное меню
Доброго здоровья!
Использую VS 2008 и 2010. Не всплывает ContextMenuStrip cms, указанное в свойствах элементов типа TextBox и RichTextBox. То же самое меню cms, указанное в свойствах dataGridView, расположенном в том же контроле, исправно всплывает на правую клавишу мыши. Явная привязка "вручную" (в коде) тоже не помогает. Возможно, здесь кроется какая-то ерунда, но она меня здорово тормозит. Не намекнет ли кто-нибудь, в чем тут дело? |
10.06.2012, 23:23 | #2 |
Форумчанин
Регистрация: 17.02.2010
Сообщений: 399
|
может быть так?
Код:
и хотелось бы знать на чем располагается TextBox\RichTextBox ? на форме или еще на чем ? Последний раз редактировалось wm_leviathan; 10.06.2012 в 23:49. |
11.06.2012, 00:26 | #3 |
Пользователь
Регистрация: 11.05.2012
Сообщений: 85
|
Я этот обработчик (и аналогичные) уже пробовал - моё сontextMenuStrip не выводится, а выводится стандартное сontextMenu редакторов Microsoft с призывами скопировать, вставить, применить IME и т.д. Если его вывод подавить, создав своё такое же меню:
textBox1.ContextMenu = new ContextMenu(); // Место занято - то с этим обработчиком так же вообще ничего не выводится, как и после указания сontextMenuStrip в свойствах textBox1 (или richTextBox1). А с dataGridView это же меню сontextMenuStrip работает, в том числе и с пустым. Там только при редактировании ячеек опять вместо него появляется атавистическое сontextMenu, которое только мешает (и я думаю, как его и в ячейках подавить, т.к. в отношении всего dataGridView оно уже подавлено принудительным созданием элемента такого же типа, см. выше). Всё это происходит не в форме, а в UserControl`е, который является внутренним контролом (inner control) таб-страницы типа Crownwood.DotNetMagic.Controls.TabP age, но, по-моему, это не должно влиять. Во всяком случае, в таких же таб-контролах у меня работает без замечаний ещё многое из хозяйства VS WinForms, в том числе контекстное меню датагрида. И вообще известно, что DotNetMagic.dll хорошо уживается в VS. Только с TextBox и RichTextBox вышла осечка - общее в поведении то, что там сразу же требуется редактировать текст, как и при выделении текста в ячейке датагрида, и тогда норовит вместо сontextMenuStrip выскочить ContextMenu редактирования текстового контента "по умолчанию" (на фиг нам такой навязчивый сервис!). Последний раз редактировалось Гаврилов; 11.06.2012 в 01:38. |
13.06.2012, 13:25 | #4 |
Пользователь
Регистрация: 11.05.2012
Сообщений: 85
|
Если кто интересуется, то я разобрался.
Коротко едва ли можно описать, но общий смысл в том, что упомянутые мной textBox и richTextBox используются не в чистом виде, а входят в более сложные контролы, позволяющие переключать "только чтение" на "редактирование" и обратно с изменением фона, имеющие признак изменения содержания и др. Оболочка (старший контрол, содержащий эти контролы) действительно не реагировала на правую клавишу мыши и не могла реагировать, т.к. я для этого ничего не сделал. Диагноз: "Прибор не работал, потому что не был включен в сеть". Но когда я "поднял" событие соответствующего входящего контрола на уровень основного (событие вызывает такое же событие старшего), то всё заработало. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Контекстное меню | AlexeiDelejov | Общие вопросы Delphi | 2 | 13.09.2011 09:50 |
Контекстное меню | detalik | Помощь студентам | 5 | 14.04.2011 09:34 |
контекстное меню | J.Bond | Помощь студентам | 3 | 17.06.2010 21:18 |
Контекстное меню | anGeee | Общие вопросы Delphi | 1 | 30.10.2009 21:28 |
Контекстное меню | mar4elo | Общие вопросы Delphi | 19 | 18.09.2009 14:30 |