Можно ли использовать цвета темы в приложениях Windows Forms? - PullRequest
0 голосов
/ 17 ноября 2009

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

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

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

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

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

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

Ответы [ 2 ]

0 голосов
/ 17 ноября 2009

Вам известны эти два свойства, которые я предполагаю?

0 голосов
/ 17 ноября 2009

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

...