在 .NET WinForms 中创建自定义菜单
题
使用 .NET 2.0 和 WinForms,我想创建一个自定义的多列菜单(类似于 word 2007 的外观和感觉,但没有功能区)。
我的方法是创建一个控件,并使用左/右停靠的工具条,我构建了类似的菜单外观和感觉。但是,该解决方案存在一些缺点,例如
- 该控件只能放置并显示在窗体内;
- 如果窗体太小,控件的某些区域将不会显示;
- 该控件还必须手动显示/隐藏。
因此,我正在寻找一种在应用程序边界之外显示此控件的方法。创建新表单将导致标题栏在显示时停用,因此这也是不可行的。或者,任何其他创建定制菜单的方法都将受到欢迎。
编辑:我不想为此使用任何商业产品;由于它是关于简单的菜单自定义,因此它与微软的功能区“研究”没有任何关系。
解决方案
MenuStrip 类具有 Renderer 属性。您可以分配自己的 ToolStripRenderer 派生类来自定义绘画。这是相当大量的工作。
不隶属于 StackOverflow