| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > ContextMenuStrip и DataGridView |
| Автор: darkness 15.5.2007, 13:04 |
| Народ, каким образом работая в DataGridView, при выделении определённой записи выскакивало бы контестное меню с определённым перечнем возможных действий? По ману(С# 2005 для профессионалов) посмотрел, там подобное реализуется через применение рефлексии... Можно ли это организовать более простым способом? Если кто сталкивался с подобной задачей киньте зацепку для её реализации ПЛИЗ!!! |
| Автор: XavierElf 15.5.2007, 15:17 |
| Можно к примеру анализировать выделенное и выставлять для него соответствующие пункты... |
| Автор: tol05 15.5.2007, 15:29 | ||||
| 1. создаешь контекстное меню contextMenuStrip и заполняешь его (определенные тобой действия) 2. подписываешься на событие RowEnter. В нем анализируешь строку (она была выделена для работы) и если это - нужная тебе строка, активизируешь меню
так, кстати, можно делать и для столбцов, для ячеек, для всего, что угодно, лишь бы оно могло сообщить о том, что с ним начали работать Единственное что (когда-то головой об это бился - настроить координаты меню, оно ведь к контролу не привязано и не знает, где ему конкретно прорисовываться) - прийдется помучаться что-то вроде такого кода я добавлял
короче, и на него события нужно будет отлавливать |
| Автор: darkness 16.5.2007, 00:52 |
| tol05, примерно так себе и представлял всю эту реализацию... Будем пробовать |
| Автор: darkness 17.5.2007, 21:05 | ||
tol05, думаю эта реализация немного попроще будет...
ColumnIndex и RowIndex помогут выйти на конкретный щёлкнутый Cell.... Вообщем ничего сложного оказывается и нет... И причём здесь рефлексия? |
| Автор: tol05 17.5.2007, 22:15 |
| Я вообще никакой реализации не предлагал просто хотел подчеркнуть, что при вызове contextMenuStrip1.Show() нужно подумать над MousePosition Если получается через то замечательно только где определяется MousePosition? Может, если ее расписать, то реализация опять станет сложной? Мне в свое время повезло меньше, не было у меня ни грида, ни ColumnIndex и RowIndex Если ты на мой код посмотришь, то это увидишь. Приходилось обходиться тем, что было. Удачи. Спасибо, что интересуешься моим мнением. |
| Автор: darkness 18.5.2007, 00:34 |
| tol05, тебе спасибо - натолкнул на решение |