![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| tos84 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 24.12.2009 Репутация: нет Всего: нет |
На форму кидаю DataGridView, создаю таблицу, заполняю цифрами и указываю ее в качестве источника для датагрида.
Надо чтобы при наведении мышки на ячейку она подсвечивалась, а при выходе из ячейки, становилась прежнего цвета. Использую для этого события CellMouseEnter и CellMouseLeave. Все работает, но загвоздка в том, что когда перемещаешь мышку по датагриду, цифры в других ячейках начинают "мерцать". Возникает впечатление, что данные в датагриде стираются и заполняются по новой. Как избежать этого мерцания?
|
|||
|
||||
| newbieBH |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 16.9.2008 Репутация: нет Всего: нет |
||||
|
||||
| tos84 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 24.12.2009 Репутация: нет Всего: нет |
Спасибо за ссылку. Посмотрел.
Там вместо двух событий CellMouseEnter и CellMouseLeave используется одно - MouseMove. Проблема с мерцанием решается тем, что вместо изменения цвета фона ячейки(там строки), над которым находится указатель, делаем эту ячейку(строку) выделенной. Предварительно указав в настройках датагрида нужный нам цвет выделенной ячейки. Тоже до этого додумывался, делал так:
Вроде бы задача решена, но не в моем случае. Т.к. полностью задача выглядит следующим образом: При перемещении указателя по дата гриду, строка над которым находится указатель подсвечивается. При нажатии кнопки мыши на ячейке, происходит событие, которое потом обрабатывается. При этом строка должна оставаться подсвеченной. Загвоздка в том, что если использовать выделение, вместо закраски, то при щелчке мышки, выделяется только эта ячейка. Пробовал делать так:
Но тогда видно, что сначала выделяется ячейка, а затем вся строка. При закраске, такой проблемы не возникает, делаем цвет выделенной ячейки прозрачным. Искал инфу почему при закраске ячейки(строки) мерцают другие, но так и не нашел внятного ответа. Неужели ни у кого не возникало подобной ситуации? |
||||
|
|||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |