当前位置:  开发笔记 > 开发工具 > 正文

你能为一个窗口控件关闭视觉样式/主题吗?

如何解决《你能为一个窗口控件关闭视觉样式/主题吗?》经验,为你挑选了1个好方法。

我的Windows窗体应用程序使用以下标准代码行,以便为整个应用程序启用视觉样式(主题)...

Application.EnableVisualStyles();

...工作得很好,所有的控制都有主题外观,而不是平坦的战舰灰色,否则你会得到.但我需要关闭一个控件实例的视觉样式.我不能删除上面的行,因为那样我将失去所有控件的主题.是否可以从单个控件实例中删除主题?

仅供参考:当我发生这种情况时,我想从DateTimePicker实例中删除主题,所以如果除了DateTimePicker之外一般答案是否定的那么那就足够了.如果解决方案涉及在最低级别玩控件,我很乐意使用平台调用.



1> David Brown..:

看起来你可以在控件上使用SetWindowTheme:

[DllImport("uxtheme", ExactSpelling = true, CharSet = CharSet.Unicode)]
public extern static Int32 SetWindowTheme (IntPtr hWnd, 
              String textSubAppName, String textSubIdList);

yourControl.FlatStyle = FlatStyle.System;
SetWindowTheme(yourControl.Handle, "", "");

原始CodeProject文章

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有