【发布时间】:2013-07-10 14:36:06
【问题描述】:
我想实现以下 WinForms 用户界面,顶部有两个按钮,允许用户在两个视图之间切换。
所以,当我点击第一个按钮(“显示用户配置文件”)时,下面的三个面板应该显示三个不同的用户配置文件(其中一些内容从数据库中获取),就像这样...... .
当我点击第二个按钮(“显示聊天记录”)时,下面的三个面板应该显示三个不同的聊天记录(部分内容从数据库中获取),就像这样......
什么是在 C# / .Net 中实现这种结构的好方法(动态或静态)? 有没有比我下面的粗略方法更清洁或至少更有效的方法:
- 为三个配置文件布局三组控件
- 为三个聊天历史设置三组控件,重叠在上面 配置文件的控件。
- 根据按下的按钮更改控件的可见性。
- 例如,如果单击第一个按钮,则为所有与 Chat-History 相关的控件设置 Visibility=false,并为所有相关控件设置 Visibility=true到用户配置文件。
【问题讨论】:
-
为什么不使用选项卡控件而不是顶部的两个按钮来切换具有多个面板的视图?
-
“选项卡控件”是否在整个表单之间切换,或者我可以让它在我自己自定义的项目选择之间切换?
-
选项卡控件将为您提供一组单独的面板。这是显而易见的方法,但是如果您想覆盖面板并控制可见性,那很好。我有一个内容查看器,它根据内容的 mime 类型显示图像或文本,并且在没有用户交互的情况下发生上下文切换,因此将图像控件放在文本框顶部并将其设置为可见是有意义的mime 类型是图像/jpeg。如果用户要做出选择,我会使用选项卡控件。
-
@John:我会试一试。或许你可以这样回答。
-
是的,当然,您只需在每个选项卡中放置 3 个面板。生病添加一个选项卡 tut 的东西的答案。