GUI设计 - 多个表单与模拟MDI(Tabs)对比PageControl

时间:2009-08-14 10:57:28

标签: user-interface mdi

您更喜欢以下哪种款式?

  • 执行任务的应用程序打开新表单
  • 将各种“表单”保存在不同标签中的应用程序
  • 一个基于PageControl的应用程序,根据您的目的向您显示正确的选项卡。
  • 其他东西

你也有gui设计的好链接吗?

3 个答案:

答案 0 :(得分:7)

从程序员的角度来看,PageControl解决方案很快就会失控。可能是太多的代码,当然还有一种形式的许多组件。 (最初这个问题被标记为Delphi,所以我从那里开始。)

从用户的角度来看,“打开新窗口”范例往往令人困惑。我们人们倾向于认为我们能够执行多任务并处理许多打开的窗口和任务,但我们不是(我们的任务是像计算机一样丢失时间并增加精度损失)。

显然这实际上取决于应用程序的类型。但我倾向于采用Chrome和Firefox最新版本的范例:

  • 将各种表单保留在不同的标签中
  • 让用户将标签分离为自己的形式(通过拖放%drop停靠和停靠)
  • 添加一种好的导航方式

我实现类似SDI的东西作为应用程序的主屏幕。看看“外观风格”之类的东西。导航,对象列表,不同窗格中的对象详细信息,一些额外的窗格,如驾驶舱。然后为某些任务(某些模态,某些非模态)打开一个新的窗口/窗体,但是很短暂。写完电子邮件后,会发送并关闭窗口。但是,如果我能够这样做的话,我有可能在当时处理多封电子邮件。

看看问题。如果它有仪表板字符,请选择“outlook style”左右。如果用户是广泛的,异构的,非计算机精明的人群,请在选项卡上使用SDI或表单。如果你为程序员写作,你可能会选择多种形式,因为我们倾向于认为我们可以处理它。它适用于多个屏幕(希望如此)。

答案 1 :(得分:2)

在我看来,MDI是最糟糕的选择。没有什么比讨厌调整大量窗户,或平铺它们或其他任何东西更让我讨厌了。

选项卡也很糟糕,特别是如果你有多行(或者如果你有一行但仍然有更多的选项卡,并且必须使用一些时髦的滚动条或“更多”按钮)

我宁愿看到程序员考虑问题,只是根据我作为用户所做的事情向我展示我需要看到的内容。在程序中实现不同的用户界面作为用户控件(与离散表单相对),然后根据当前上下文显示或隐藏它们是可行的方法。

答案 2 :(得分:0)

如果您为每个标签内容使用框架,则选项卡式表格是个好主意。这样可以避免在单个表单单元中获取过多代码。尝试与Google Chrome相同。我个人创建了一个菜单,其中的选项实际上是仅在用户要求时加载的框架,因此除非用户需要全部打开,否则永远不会有很多标签可见。