Я создал пользовательский элемент управления кнопки.В основном один прямоугольник кнопки, но с двумя областями внутри прямоугольника, которые имеют другое поведение.По этой причине я хочу нарисовать горячее и нажатое состояние ТОЛЬКО для определенных областей, а не кнопку с отверстием.
Мой текущий подход - рисовать базовую кнопку, используя ButtonRenderer.DrawButton(...)
с пустым текстом, рисовать горячееили нажал состояние, если требуется и, наконец, рисование текста.Пока все хорошо, но как мне получить (градиент) цвета для горячего / нажатого состояния?
Я пробовал SystemColors
, KnownColors
и VisualStyleRenderer.GetColor(ColorProperty.XYZ)
, но ни один из них не подходит?Как я могу прочитать эти цвета из хост-системы?
РЕДАКТИРОВАТЬ:
Пример изображения ниже:
Мне нужны цвета как hot , так и нажатого состояния кнопки - (светло) синего цвета в случае этого скриншота win7.Если вы увеличите масштаб, вы увидите, что используется небольшой градиент цвета как в верхней, так и в нижней половине.
Последняя кнопка показывает, чего я хочу достичь.
Конечно, я мог бы извлечь цвета из скриншотов и жестко закодировать их или использовать изображения, как предложено, но это будет работать только для этой конкретной системы, не так ли?