【问题标题】:GUI Design - Multiple forms vs Simulated MDI (Tabs) vs PageControlGUI 设计 - 多表单 vs 模拟 MDI(选项卡) vs PageControl
【发布时间】:2010-11-19 14:53:33
【问题描述】:

你更喜欢以下哪种风格?

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

你还有什么好的gui设计链接吗?

【问题讨论】:

    标签: user-interface mdi


    【解决方案1】:

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

    从用户的角度来看,“打开新窗口”范式常常令人困惑。我们人们倾向于认为我们能够同时处理多项任务并处理许多打开的窗口和任务,但实际上并非如此(我们会像计算机一样浪费时间切换任务并增加准确性的损失)。

    显然,这实际上取决于应用程序的类型。但我倾向于使用 Chrome 和 Firefox 在其最新版本中展示的范式:

    • 将各种表单保存在不同的选项卡中
    • 让用户将选项卡分离到自己的表单中(通过 drag%drop 停靠和取消停靠)
    • 添加一个好的导航方式

    我也将 SDI 之类的东西用作应用程序的主屏幕。看看类似“外观风格”的东西。导航、对象列表、不同窗格中的对象详细信息、一些附加窗格(如驾驶舱)。然后为某些任务(一些模式,一些非模式)打开一个新窗口/表单,但寿命很短。电子邮件写入后,将发送并关闭窗口。但如果我有能力,我有可能同时处理多封电子邮件。

    看问题。如果它有仪表盘字符,采取“外观风格”左右。如果用户是广泛的、异类的、不精通计算机的人群,请使用 SDI 或选项卡上的表单。如果您为程序员写作,您可能会选择多种形式,只是因为我们倾向于认为我们可以处理它。它适用于多个屏幕(希望如此)。

    【讨论】:

    • +1,很好的答案。尽管没有任何特定于 Delphi 的内容,但您会同意(既不是问题也不是您的答案)。
    • @mghie:我同意。但我不知道使用 PageControl 范式在其他语言中需要多少代码。也许有些语言已经对此进行了优化,这是要走的路。
    • @Ralph:在页面控件中使用表单或框架作为页面,组件数量或单个单元的大小没有问题。在您编写时,程序员 POV 是(或可能是)有问题的,如果您愿意的话,这是一个实现细节。我理解这个问题主要是关于 GUI 设计部分。
    • @mghie:还是你的权利。这就是我说我正在接受程序员 POV 的方式。从这个角度来看,使用框架有很大帮助,当然可以使用表单来放置页面。但这接近于制表解决方案。
    • 将表单放置在页面控制选项卡中怎么样?
    【解决方案2】:

    在我看来,MDI 是最糟糕的选择。没有什么比调整一堆窗口的大小、平铺它们或其他什么更让我讨厌的了。

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

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

    【讨论】:

      【解决方案3】:

      如果您为每个选项卡内容使用一个框架,则选项卡式表单是一个好主意。这使您免于在一个表单单元中获取太多代码。尝试做与谷歌浏览器相同的操作。我个人创建了一个菜单,其中的选项实际上是仅在用户请求时才加载的框架,因此除非用户需要全部打开,否则永远不会有很多选项卡可见。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-11
        相关资源
        最近更新 更多