Спрашивающий
Как включить в своём приложении на .Net 6.0 Windows Forms поддержку тёмной темы?

Вопрос
-
Подскажите, пожалуйста, как включить в своём приложении на .Net 6.0 LTS (Приложение Windows Forms) поддержку тёмной темы? Попробовал, по умолчанию не работает.25 апреля 2022 г. 12:51
Все ответы
-
Здравствуйте.
Расскажите о проблеме более подробно.
Alexandr_Smirnoff
25 апреля 2022 г. 14:58 -
Просто включить думаю никак, эта темная тема работает только для приложений UWP. Можно получить текущие настройки темы через API UWP или через реестр, и применить вручную к своей программе. Либо использовать недокументированные функции из библиотеки uxtheme.dll. В интернете гуляют рецепты на эти оба способа: https://stackoverflow.com/q/53501268/8674428, https://stackoverflow.com/q/51334674/8674428
- Изменено VadimTagil 26 апреля 2022 г. 4:59
25 апреля 2022 г. 17:33 -
Расскажите о проблеме более подробно.
- Изменено Andrey Solopko 26 апреля 2022 г. 6:08
26 апреля 2022 г. 6:06 -
Если вы пишете под Windows 10-11, может перейти на UWP/WinUI? Хоть .NET 6 и самый новый, Windows Forms не получала серьезных обновлений с VS2010. Сейчас в планах у разработчиков только добавить нормальный API для получения текущей темы: https://github.com/dotnet/winforms/issues/6270, то есть чтобы первый из моих способов можно было реализовать без хаков. Полноценную поддержку темной темы неизвестно когда даже начнут делать.26 апреля 2022 г. 8:36
-
Если вы пишете под Windows 10-11, может перейти на UWP/WinUI?
Мне надо, чтобы программа работала и на Windows 7, и на Windows 8. Надо так, если операционная система нормально не поддерживает тёмную тему, то приложение выглядит по обычному. Если же ОС поддерживает, то и моё приложение должно тёмное. А пока получается, что на Lazarus и Free Pascal гораздо проще тёмную тему обеспечить для своего приложения.26 апреля 2022 г. 10:21 -
Если вы пишете под Windows 10-11, может перейти на UWP/WinUI?
Мне надо, чтобы программа работала и на Windows 7, и на Windows 8. Надо так, если операционная система нормально не поддерживает тёмную тему, то приложение выглядит по обычному. Если же ОС поддерживает, то и моё приложение должно тёмное. А пока получается, что на Lazarus и Free Pascal гораздо проще тёмную тему обеспечить для своего приложения.
Alexandr_Smirnoff
28 апреля 2022 г. 8:47