Подскажите плис, как сделать, чтобы при потере сабжем фокуса ввода, в нем не выделялась текущая строка/ячейка ?
Делаю простую студенческую прогу, где dataGridView используется для ввода элементов числовой матрицы и мне нафиг не надо, чтобы, когда я кликаю на другой контрол, текущая ячейка выделялась цветом отличным от всех остальных
Здравствуйте, system.console, Вы писали:
SC>Подскажите плис, как сделать, чтобы при потере сабжем фокуса ввода, в нем не выделялась текущая строка/ячейка ?
Ну первое, что приходит на ум, это решение "в лоб" — в событии LostFocus очищать выделение, вызывая ClearSelection()
SC>>Подскажите плис, как сделать, чтобы при потере сабжем фокуса ввода, в нем не выделялась текущая строка/ячейка ? МР>Ну первое, что приходит на ум, это решение "в лоб" — в событии LostFocus очищать выделение, вызывая ClearSelection()
разве же это в лоб ?!
В лоб — это уствноить SelectionBackColor и SelectionForeColor в такие же цвета как и BackColor, ForeColor ж)
Здравствуйте, system.console, Вы писали:
SC>В лоб — это уствноить SelectionBackColor и SelectionForeColor в такие же цвета как и BackColor, ForeColor ж)
Такой вариант я тоже рассматривал, но решил, что потенциально там может быть больше проблем — например, если установить эти цвета сразу и на всё время, то отличать выделенные строки от остальных будет визуально сложнее.
С другой стороны, если менять цвета так же в момент потери фокуса — от моего варианта будет минимум отличий (да еще будет плюс — у вас сохранится информация о выделении, если это нужно).
SC>>В лоб — это уствноить SelectionBackColor и SelectionForeColor в такие же цвета как и BackColor, ForeColor ж) МР>Такой вариант я тоже рассматривал, но решил, что потенциально там может быть больше проблем — например, если установить эти цвета сразу и на всё время, то отличать выделенные строки от остальных будет визуально сложнее. МР>С другой стороны, если менять цвета так же в момент потери фокуса — от моего варианта будет минимум отличий (да еще будет плюс — у вас сохранится информация о выделении, если это нужно).
если можно, просто ради любопытства, фрагмент кода реализующий это предложение
Я проблему уже решил тупой установкой SelectionBack(Fore)Color раз и навсегда в инспекторе свойств.
Просто ради самообразования, ибо VS, как и C# по сути-то я не знаю.
Здравствуйте, system.console, Вы писали:
SC>>>В лоб — это уствноить SelectionBackColor и SelectionForeColor в такие же цвета как и BackColor, ForeColor ж) МР>>Такой вариант я тоже рассматривал, но решил, что потенциально там может быть больше проблем — например, если установить эти цвета сразу и на всё время, то отличать выделенные строки от остальных будет визуально сложнее. МР>>С другой стороны, если менять цвета так же в момент потери фокуса — от моего варианта будет минимум отличий (да еще будет плюс — у вас сохранится информация о выделении, если это нужно). SC>если можно, просто ради любопытства, фрагмент кода реализующий это предложение SC>Я проблему уже решил тупой установкой SelectionBack(Fore)Color раз и навсегда в инспекторе свойств. SC>Просто ради самообразования, ибо VS, как и C# по сути-то я не знаю.
Здравствуйте, system.console, Вы писали:
SC>Подскажите плис, как сделать, чтобы при потере сабжем фокуса ввода, в нем не выделялась текущая строка/ячейка ? SC>Делаю простую студенческую прогу, где dataGridView используется для ввода элементов числовой матрицы и мне нафиг не надо, чтобы, когда я кликаю на другой контрол, текущая ячейка выделялась цветом отличным от всех остальных
Я бы обрабатывал CellPainting событие как-то так (для случая, когда в гриде выделяется только одна ячейка):