使用 .NET 2.0 和 WinForms,我想创建一个自定义的多列菜单(类似于 word 2007 的外观和感觉,但没有功能区)。

我的方法是创建一个控件,并使用左/右停靠的工具条,我构建了类似的菜单外观和感觉。但是,该解决方案存在一些缺点,例如

  • 该控件只能放置并显示在窗体内;
  • 如果窗体太小,控件的某些区域将不会显示;
  • 该控件还必须手动显示/隐藏。

因此,我正在寻找一种在应用程序边界之外显示此控件的方法。创建新表单将导致标题栏在显示时停用,因此这也是不可行的。或者,任何其他创建定制菜单的方法都将受到欢迎。

编辑:我不想为此使用任何商业产品;由于它是关于简单的菜单自定义,因此它与微软的功能区“研究”没有任何关系。

有帮助吗?

解决方案

MenuStrip 类具有 Renderer 属性。您可以分配自己的 ToolStripRenderer 派生类来自定义绘画。这是相当大量的工作。

其他提示

  • 除非您从事提供 .net 组件的业务,否则您应该考虑购买现成的产品。要获得这样的控制权需要做很多工作——已经有供应商提供这种用户界面。例如 组件一
  • 如果您尝试将此组件构建为产品,您应该查看下面的链接。显然,微软在 Office UI 方面拥有“免版税”许可证,以保护其研发投资。截至目前,您需要告诉他们您正在使用类似于 Office UI 的东西。 更多内容在这里
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top