如何在Winforms中将上下文菜单分成多个列?

时间:2009-10-29 00:02:27

标签: c# .net winforms

我有一个ContextMenuStip,其中包含动态生成的ToolStripMenuItem个对象列表。问题是,当它们太多不适合屏幕时,列表的顶部和底部会出现微小的滚动按钮,滚动列表有点单调乏味。

如何让菜单自动分成两列或更多列,以便用户不必滚动?

1 个答案:

答案 0 :(得分:3)

此行为在一段时间之前从Windows中删除了 - 注意Windows Vista / 7使用树在开始菜单中显示程序。我怀疑这是因为它为用户提供了太多的数据和决策。

您确定这是向用​​户提供选择的最佳方式吗?

如果是这样,那么你可能需要一个自定义菜单控件,这将是非常多的工作。

  • 如果没有,那么你应该考虑如何 你可以做到同样的选择 其他控件。如何列出一个列表 过滤器?
  • 是否有一些自然分组 项目?如果是这样你可以分裂成 列表框,组合框或树。
  • 应用程序是否需要拆分 进入不同的模式?
  • 商品编号是? - 如果是这样的话 数字上/下控制可能有效

一般方法是简化用户在任何时候必须做出的决策量。

花一些时间玩WinForms工具箱中的所有控件,看看效果如何。