Стандартный способ выделить элемент - использовать цвет выделения системы.
Доступ к этому можно получить с помощью свойства SystemColors.Highlight
, которое возвращает структуру Color
, соответствующую цвету фона, который операционная система использует для выбранных элементов.
Основным преимуществом этого является то, что пользователь сразу распознает объект как выделенный . Выбор произвольного цвета не обязательно будет означать то, что вы намерены для него значить. Совместимость со всеми остальными программами на их компьютере в значительной степени повысит удобство использования и удобство использования вашего программного обеспечения.
РЕДАКТИРОВАТЬ: Если вы действительно настаиваете на использовании облегченной версии исходного цвета в качестве цвета подсветки, лучший способ рассчитать это преобразовать начальный цвет в альтернативное цветовое пространство, такое как HSV. Пространство RGB на самом деле не было разработано для манипулирования цветом, и облегчение значений трех компонентов RGB не всегда дает ожидаемый цвет. Я предоставляю образец кода здесь для этого преобразования.
Как только вы преобразовали цвет в цветовое пространство HSV, просто увеличьте его атрибут V
(или «значение»), чтобы осветлить его, а затем преобразуйте его обратно в цвет RGB. Существует встроенный метод для создания структуры Color
из значений компонентов RGB: Color.FromArgb
Обратите внимание, что цветовое пространство HSV также , известное как HSB (где «значение» изменяется на «яркость»). Они абсолютно эквивалентны во всех отношениях. Однако это не то же цветовое пространство, что и HSL, где L
означает «легкость». Статья в Википедии предоставляет больше информации для любознательных.