2

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

项目 1
第 2 项
第 3 项

选择项目 2 后

项目 1
----------------------------------
| 项目 2 |
| 文本框按钮 |
| 按钮 |
| |
| 文本框按钮 |
----------------------------------
第 3 项

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

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

谢谢

编辑 -

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

4

3 回答 3

3

如果您使用的是 WinForms,CodeProject 上有一个名为 DropDownPanel 的实现,看起来就像您想要的那样。

This answer to a similar question描述了一个可能的解决方案TableLayoutPanel,您可能也对此感兴趣。

于 2011-12-05T23:19:24.113 回答
2

我建议具有 6 行和 1 列的TableLayoutPanel具有此方向:

第 1 行:带有文本的平面按钮 = Item1

第 2行:对应项目 1 的面板(按下第 1 行中的可见 false else 按钮​​)

.... 等等。

笔记:

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

按下第 1、3、5 行中的任何按钮时,取决于位置单行 2、3、4 可见 =true 否则可见 = false。

于 2011-12-05T23:32:02.163 回答
0

你看过 WPF扩展器控件吗?您可以将其合并到您的列表中以创建一个复合控件,该控件将满足您希望创建的“分层”。

于 2011-12-05T23:11:11.887 回答