您可以仅关闭单个窗口控件的视觉样式/主题吗?
我的 Windows 窗体应用程序使用以下标准代码行,以便为整个应用程序启用视觉样式(主题)...
Application.EnableVisualStyles();
...效果很好,所有控件都有主题外观,而不是您所看到的平面战舰灰色否则会得到。 但我需要关闭单个控件实例的视觉样式。 我无法删除上面的行,因为那样我就会失去所有控件的主题。 是否可以从单个控件实例中删除主题?
仅供参考:碰巧我想从 DateTimePicker 实例中删除主题,因此如果一般答案是否定的(除了 DateTimePicker 之外),那么这就足够了。 如果解决方案涉及在最低级别上使用控件,我很乐意使用平台调用。
My Windows Forms application uses the following standard line of code so that visual styles (theming) is enabled for the entire application...
Application.EnableVisualStyles();
...which works just fine, all the controls have a themed appearance instead of the flat battleship gray that you would get otherwise. But I need to turn off visual styles for just a single control instance. I cannot remove the above line because then I would lose theming from all the controls. Is it possible to remove theming from a single control instance?
FYI: As it happens I want to remove theming from a DateTimePicker instance so if the general answer is no except for the DateTimePicker then that would be good enough. I am happy to use platform invoke if the solution involves playing with the control at the lowest level.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看起来您可以在控件上使用 SetWindowTheme:
原始 CodeProject 文章
It looks like you can use SetWindowTheme on a control:
Original CodeProject Article