我有一个WinForms应用程序,该应用程序会在Windows 10上自动调整为暗/亮主题。我的问题是,无论用户选择哪种主题,窗口的标题栏始终保持白色。
例如,请参见explorer
。那不是UWP应用程序,但是它在Windows 1903和更高版本(选择深色主题)上使用深色标题栏。
我该如何实现同一目标?我不想使用任何自定义标题栏,因为我希望该应用程序的外观和行为也类似于旧版Windows上的任何本机应用程序。
答案 0 :(得分:5)
因此,经过长时间的搜索,我终于找到了答案。诀窍是使用dwmapi.dll
的{{1}}并将未记录的常量DwmSetWindowAttribute
传递到函数中。在C#中,用于此的代码看起来像这样(与WinForms和WPF一起使用):
DWMWA_USE_IMMERSIVE_DARK_MODE
答案 1 :(得分:0)
最快的方法:
/edit