Windows 10上的WinForms Dark标题栏

时间:2019-07-20 11:23:23

标签: c# winforms

我有一个WinForms应用程序,该应用程序会在Windows 10上自动调整为暗/亮主题。我的问题是,无论用户选择哪种主题,窗口的标题栏始终保持白色。

enter image description here
顶部是最新的,底部是我想要的(用Photoshop模拟)

例如,请参见explorer。那不是UWP应用程序,但是它在Windows 1903和更高版本(选择深色主题)上使用深色标题栏。

我该如何实现同一目标?我不想使用任何自定义标题栏,因为我希望该应用程序的外观和行为也类似于旧版Windows上的任何本机应用程序。

2 个答案:

答案 0 :(得分:5)

因此,经过长时间的搜索,我终于找到了答案。诀窍是使用dwmapi.dll的{​​{1}}并将未记录的常量DwmSetWindowAttribute传递到函数中。在C#中,用于此的代码看起来像这样(与WinForms和WPF一起使用):

DWMWA_USE_IMMERSIVE_DARK_MODE

答案 1 :(得分:0)

最快的方法:

/edit