Можно ли использовать цвета темы в приложениях Windows Forms?

Обычно я использую системные цвета при любой возможности при разработке приложений Windows Forms, чтобы они соответствовали предпочтениям пользователя. Но возможно ли использовать Theme Colors?

Я понимаю, что это ограничивает вас несколькими способами (должно быть, запущена Windows, которая поддерживает его и работает служба Themes), поэтому мне, конечно, хотелось бы, чтобы он использовал другой стандарт, но я уверен, что 99% из моих пользователей будет доступно, я хотел бы использовать его, если это возможно.

В частности, для более новых версий Windows (Vista и 7) такие вещи, как гиперссылки, имеют более мягкий пастельный синий цвет. Старые системные цвета ничего не определяют для ссылок и тому подобного, и в целом они гораздо более ограничены (исходя из 95 дней) в выборе и разнообразии.

Хотя WPF, вероятно, имеет лучшую поддержку, я не могу использовать его. Если необходима какая-либо сторонняя утилита, сборка и т.п., она также должна быть бесплатной для использования. Мне не нужно ничего такого фантастического, но в идеальном мире я мог бы сделать что-то вроде этого:

linkLabel1.LinkColor = System.Drawing.ThemeColors.Hyperlink;

Я застрял, просто используя синий по умолчанию (0,0255) и заставляя их выглядеть неуместно в Vista и выше? Я даже соглашусь на уродливые методы взаимодействия p/invoke, если это будет необходимо...

2 ответа

Я знаю, что это глупая идея, но вы можете проверить версию ОС, а затем предварительно загрузить набор цветов

Вы знаете об этих двух свойствах, я полагаю?

Другие вопросы по тегам