![]() |
Модераторы: gambit, Partizan |
![]() ![]() ![]() |
|
zorran |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 16.2.2009 Репутация: нет Всего: нет |
Есть DataGridView в VirtualMode
При изменении ячейки с checkBox обрабатывается событие CellValuePushed: ==== private void gridFiles_CellValuePushed(object sender, DataGridViewCellValueEventArgs e) { if (e.ColumnIndex==0) // колонка с CheckBox { list[e.RowIndex].check = (bool)e.Value; } } ==== Но это событие возникает только когда ячейка теряет фокус, как сделать что-бы это событие возникало сразу после изменения значения ячейки? Или есть какой-то другой варинт? |
|||
|
||||
zorran |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 16.2.2009 Репутация: нет Всего: нет |
Сам нашел решение, дополнительно обрабатываем событие CellContentClick:
== private void gridFiles_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex==0) { // колонка с CheckBox gridFiles.CurrentCell.ReadOnly = true; gridFiles.CurrentCell.ReadOnly = false; } } === Здесь мы как-бы переинициализируем ячейку, что вызывает потерю фокуса на какое-то время, и автоматически вызывается событие CellValuePushed, что нам и нужно. Данное событие возникает только когда мы щелкаем по флажку, а не по остальной части ячейки, и также реагирует на изменение флажка с клавиатуры пробелом! Название события не совсем верное - правильнее было бы "CellContentCnanged", например. |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |