c# - 在 .NET WinForms 中创建自定义菜单

标签 c# .net winforms menu

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

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

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

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

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

最佳答案

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

关于c# - 在 .NET WinForms 中创建自定义菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71149/

相关文章:

.net - 打包/发布Azure项目时出现System.OutOfMemoryException

c# - sizeof(T) 和 Unsafe.SizeOf<T>() 有什么区别?

c# - 使用多线程进行慢速 Ms 互操作

c# - SplitterDistance 随着控件大小的变化而变化

c# - 第一个敏捷项目——我应该先写什么?

c# - 错误1无法将类型'char'隐式转换为'bool'

c# - 自动编译 Linq 查询

c# - 有没有办法使用 WebClient 从受密码保护的位置而不是 Httprequest 获取登录 cookie?

c# - 不必要地转换为 IComparer?

.net - 安全密码哈希