2

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

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

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

因此,我正在寻找一种在应用程序边界之外显示此控件的方法。创建一个新表单会导致标题栏在显示时停用,所以这也被淘汰了。或者,任何其他创建自定义菜单的方法都将受到欢迎。

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

4

2 回答 2

2
  • 除非您从事提供 .net 组件的业务,否则您应该考虑购买现成的。获得这样的控制权需要做很多工作——已经有供应商提供这种 UI。例如ComponentOne
  • 如果您尝试将此组件构建为产品,则应查看下面的链接。显然,微软在 Office UI 周围有一个“免版税”许可证,以保护他们的研发投资。到目前为止,您需要告诉他们您正在使用类似于 Office UI 的东西。更多内容在这里
于 2008-09-16T11:05:21.327 回答
1

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

于 2008-09-18T02:34:39.570 回答