让 WinForms 菜单和工具栏使用系统主题?

Posted

技术标签:

【中文标题】让 WinForms 菜单和工具栏使用系统主题?【英文标题】:Getting WinForms menus and toolbars to use the system theme? 【发布时间】:2012-01-06 13:42:51 【问题描述】:

有没有办法让 WinForms 控件 MenuStripToolStrip 使用当前系统主题进行渲染?


通常,WinForms MenuStripToolStrip 控件有一个 RenderMode 属性,它指向一个处理渲染的类:

ToolStripSystemRenderer

ToolStripProfessionalRenderer

ManagerRenderMode

默认为 ToolStripManager.Renderer 使用的任何内容(即 ProfessionalSystem

这些渲染器都不使用 Windows 系统主题:

如何获得 .NET WinForms MenuStripToolStrip 控件以使用系统主题?


我可以问一些相关但不同的问题:

.NET FCL 是否包含实现“系统”渲染的ToolStripRenderer? 有没有人写过实现“系统”渲染的ToolStripRenderer

【问题讨论】:

与***.com/questions/1204041/…回答类似的问题 【参考方案1】:

嘿,我知道它不完全是您正在寻找的答案,但 Telik 已经做了您想要的, 我用过那里的图书馆,效果很好,所以你可以去任何一种方式,你可以使用那里的图书馆,或者从那里得到一些想法home page about winforms

希望这会有所帮助。

【讨论】:

以上是关于让 WinForms 菜单和工具栏使用系统主题?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 winforms 对话框附加到现有的工具栏/菜单栏(编译的 C++ 应用程序)?

winforms下右键菜单

Qt:有没有办法让工具栏图标适应系统主题?

WebStorm更换sublime配色和黑色主题

Telerik winforms 主题颜色自定义

黑苹果启动工具的美化主题版rEFInd