在.NET WinForms中创建自定义菜单
时间:2020-03-05 18:55:37 来源:igfitidea点击:
将.NET 2.0与WinForms结合使用,我想创建一个自定义的多列菜单(类似于单词2007 look&feel,但没有功能区)。
我的方法是创建一个控件,并使用向左/向右停靠的工具栏构造一个类似菜单的外观。但是,此解决方案有一些缺点,例如
- 该控件只能放在表格中并显示在表格中;
- 如果窗体太小,则控件的某些区域将不会显示;
- 控件也必须手动显示/隐藏。
因此,我正在寻找一种在应用程序边界之外显示此控件的方法。创建一个新表单将导致标题栏在显示中处于停用状态,所以这也没有了。另外,任何其他创建自定义菜单的方法都将受到欢迎。
编辑:我不想为此使用任何商业产品;并且由于它是关于简单的菜单自定义的,因此它与Microsoft的功能区"研究"没有任何关系。
解决方案
回答
- 除非我们要提供.net组件,否则应该立即购买。获得这样的控制权需要做很多工作-已经有供应商提供了这种UI。例如组件一
- 如果我们尝试将此组件构建为产品,则应查看下面的链接。显然,Microsoft在Office UI周围拥有"免版税"许可证,以保护其研发投资。到目前为止,我们需要告诉他们我们正在使用类似于Office UI的工具。这里更多
回答
MenuStrip类具有Renderer属性。我们可以分配自己的ToolStripRenderer派生类来自定义绘画。这是相当多的工作。