如何创建以下用户界面?

时间:2011-12-05 22:49:58

标签: c# forms user-controls layered

客户要求提供一个组合了许多不同元素的用户界面。它基本上是一个列表。选择列表中的条目会导致对话框就地扩展:

Item 1
Item 2
Item 3

After selecting Item 2

Item 1
------------------------------------
| Item 2                           |
| text box             button      |
|                      button      |
|                                  |
| text box             button      |
------------------------------------
Item 3

我知道您可以制作一些相当复杂的列表视图http://www.codeproject.com/KB/list/ObjectListView.aspx

你们有些GUI专家会这样做吗?是否有这种分层界面的名称,我可以搜索以了解更多信息?我可以用我的内联表单扩展listviewitem吗?我想我只需要一个如何开始的指针。我已经完成了一些表格编程,但这超出了我目前的知识。

由于

编辑 -

Dash的评论让我走上正轨,因为我认为这是我正在寻找的手风琴控制。由于他没有提供答案,我不知道如何将其标记为已回答...

3 个答案:

答案 0 :(得分:3)

如果您使用的是WinForms,那么an implementation called DropDownPanel on CodeProject看起来就像您想要的那样。

This answer针对类似问题描述了使用TableLayoutPanel的可能解决方案,您可能也会感兴趣。

答案 1 :(得分:2)

我建议 TableLayoutPanel 包含6行和1列此方向:

第1行:包含text = Item1的平面按钮

第2行:对应的第1项面板(按下第1行中可见的错误其他按钮)

.... 等等。

注意:

第一行2,4,6可见=假

当按下row1,3,5中的任何按钮时,取决于位置单行2,3,4 visible = true else visible = false。

答案 2 :(得分:0)

你看过WPF expander control了吗?您可以将其合并到列表中以创建composite control,以满足您希望创建的“分层”。