代码之家  ›  专栏  ›  技术社区  ›  petr k.

WinForms中简单的菜单式导航

  •  0
  • petr k.  · 技术社区  · 15 年前

    (请注意,我不想讨论如何说服客户迁移到更现代的UI。)

    │--------------│
    │ Customers >> │ │-----------------│
    │ Invoices     │ │ Find customer   │
    │ -------------│ │ Create new      │
    │ .. etc..     │ │ Delete customer │
    │ -------------│ │-----------------│
    │ Exit         │
    │--------------│
    

    菜单必须非常大,并且位于屏幕(窗体)的中间。这意味着经典的MenuStrip是不可能的。我是否应该动态创建包含适当项的列表框?你会怎么做?我已经在对象中存储了导航结构,我正在寻找如何向用户呈现导航UI的建议。

    3 回复  |  直到 15 年前
        1
  •  1
  •   Rohan West    15 年前

    我一直在用 Krypton context menu 选项。还有一个导航控件,它提供了一系列菜单选项。

        2
  •  1
  •   overslacked    15 年前

    - - - - - - - - - - - - - - - - - - - - - - - 
    | Bolded Group Header | Bolded Group Header |
    |   Item Link 1       |   Item Link 3       |
    |   Item Link 2       |   Item Link 4       |
    - - - - - - - - - - - - - - - - - - - - - - -
    

    当双击组标题时,该组中的所有链接都将在后台同时打开。此外,应用程序的上下文(例如选定的客户)是通过工具栏选择的,因此始终显示当前客户的详细信息。

    从技术上讲,我们使用了从TPanel派生的控件(这是在C++Builder中使用VCL)和客户端区域标签,但是在.NET中可以很容易地执行类似的操作。

    祝你好运!

        3
  •  0
  •   Jamie Ide    15 年前

    我想你可以用ToolStrip控件来实现。将Dock=None和LayoutStyle=VerticalStackWithOverflow作为开始。