Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > DataGridView - запрет выделения


Автор: mr.Anderson 15.1.2010, 01:07
Возникла задача полностью запретить выделение любых ячеек в датагриде. Как это можно сделать? Обрыл гугл, ничего вразумительного не нашел. Метод через SelectionBackColor не предлагать.

Автор: mr.Anderson 15.1.2010, 23:15
Ну что, никто не в курсе, что ли?

Вообще откуда родом эта проблема, расскажу. У меня в процессе работы программы в таблице некоторая ячейка окрашивается другим цветом. Остальные ячейки при этом теряют окраску и становятся белыми, как обычно. При этом возникает вышеназванная проблема, т.к. если окрасить ячейку, которая в данный момент выделена - она не окрасится (точнее, окрасится, но этого видно не будет, пока не переместить выделение на другую ячейку). Плюс выделение бесполезно абсолютно, и очень сильно мешается при просмотре. Через SelectionBackColor убрать его не получается. т.к. даже если сделать цвет выделения белым, то выделенная ячейка попросту перекроет окраску и останется белой, хотя "под" выделением будет окрашено. Как это можно обойти-то.

Добавлено через 12 минут и 32 секунды
Однако решил проблему. Причем до смешного простым способом. Установил-таки SelectionBackColor в белый, SelectionForeColor в черный цвет, а для ячейки, которая окрашивается, выполняется вот такая штука:
Код

_cellPainted.Selected = false;

Все))) Мб кому пригодится)

Автор: mr.Anderson 15.1.2010, 23:44
Хех. Сделал еще проще. Поставил режим выделения в таблице CellSelect, установил MultiSelect в false (чтобы выделялась с гарантией только одна ячейка) и проставил обработчик события на SelectionChanged, в котором у текущей выделенной ячейки (datagridview1.SelectionCells[0]) свойство Selected сбрасывается в false. Все. Метод работает с гарантией.

Автор: arbimbmet 31.8.2022, 22:36
Модератор: Сообщение скрыто.

Автор: Objegog 7.9.2022, 02:51
Модератор: Сообщение скрыто.

Автор: hipAppops 10.9.2022, 00:43
Модератор: Сообщение скрыто.

Автор: anceria 13.9.2022, 02:40
Модератор: Сообщение скрыто.

Автор: pelpigh 17.9.2022, 07:02
Модератор: Сообщение скрыто.

Автор: zesurne 7.10.2022, 04:04
Модератор: Сообщение скрыто.

Автор: Agristisy 12.10.2022, 18:58
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)