| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > ContextMenuStrip - динамическое заполнение |
| Автор: theHelg 9.9.2009, 14:55 |
| Добрый день! у меня в приложении есть несколько DataGridView. Хочу кинуть на форму пустой ContextMenuStrip и при вызове заполнять соответствующими пунктами. Не могу разобраться с как это лучше всего сделать? Я думал, что на DataGridView будет некое событие - типа вызов ContextMenuStrip - есть только _CellContextMenuStripNeeded - но как-то видимо не совсем то... А если смотреть в ContextMenuStrip _Opening - то не понятно, кто его вызвал... Как лучше всего разрулить? |
| Автор: mrbrooks 10.9.2009, 10:05 |
| Вообще то ContextMenuStrip связывается с тем же DataGridView через свойство последнего ContextMenuStrip. Как ты заполнишь контексное меню - дело уже логики программы, в зависимости от ситуации. |
| Автор: theHelg 10.9.2009, 10:09 |
| вот про это я и говорю - куда прикрутить эту логику?? на все 10 датагридов у меня стоит ОДНО меню. И я хочу заполнять динамически эту менюшку каждый раз перед вызовом... |
| Автор: explorer 10.9.2009, 10:27 |
| У ContextMenuStrip есть событие OnDropDownOpening. Срабатывает перед тем, как развернется меню. В этот момент его коллекцию элементов можно переделать как угодно. |
| Автор: theHelg 10.9.2009, 10:59 |
| о! вот наверно оно мне и нужно! спасибо!! |
| Автор: BinaryShadow 30.9.2009, 11:07 |
| А я бы сделал создание контекстного меню при установке фокуса на датагриде. Потому-что меню можно вызывать на одном гриде много раз, а фокус устанавливается реже. |