【问题标题】:Best way to show screens to user on application在应用程序上向用户显示屏幕的最佳方式
【发布时间】:2009-03-08 22:36:18
【问题描述】:

我正在开发一个已经运行多年的 Winforms 应用程序,它带有一个资源管理器视图(左侧的树视图,右侧的屏幕)。我的意思是:

  • 所有屏幕都有一个层次结构
  • TreeView 上的所有节点都只有一个屏幕相关。
  • 选择树视图上的节点时会激活屏幕。

其中一个优点是用户有一个有序的结构,而不便之处之一是数百个屏幕会让用户感到困惑。

我看到了其他选择:使用经典菜单、使用选项卡或混合使用。

对于以用户友好的方式向用户显示大量屏幕的好方法有什么建议吗?

更新:我已将“数百个屏幕”更改为“很多屏幕”。最重要的不是一次都显示,而是用户可以轻松找到他们需要的内容。

更新2:在此提案中,用户一次只能看到一个屏幕。

Update3:我说的是处理多个屏幕而不显示多个屏幕。没有 MDI,只有一次准时

【问题讨论】:

  • “以用户友好的方式向用户显示数百个屏幕”似乎很矛盾......
  • Google 以用户友好的方式显示数十亿页。
  • 目前还不清楚是否要让“百屏”中的信息同时可见。

标签: winforms user-interface user-friendly screens


【解决方案1】:

我曾经使用过类似的其他应用程序,主要问题是试图找到您想要的确切屏幕。这个问题有两种常见的解决方法,快捷键代码和收藏夹菜单。

使用快捷代码,为每个屏幕分配一个短代码(5 或 6 个字符)。然后,用户将此快捷方式代码输入到文本框中,然后该文本框将跳转到正确的屏幕。用户将创建自己的常用代码列表。

对于收藏夹菜单,允许用户以他们想要的结构创建自己的菜单列表。如果他们自己组织,他们会发现事情更容易。

【讨论】:

  • 扩展这些想法:搜索?网络浏览器(以及网络本身!)通常用于搜索书签/收藏夹和历史记录。
【解决方案2】:

为什么需要一次显示这么多单独的屏幕?为什么不只显示当前选择的节点的屏幕,为什么一次都需要?

如果都是表格数据,可能一次性消耗太多,如果是图形数据,不能合并吗?

可能有正当理由一次显示所有数据,也可能没有,很难从您的问题中提供的内容中分辨出来。话虽如此,最好保持简单而不是让用户超载。 MDI 应用程序从来都不容易使用。

选项卡可能适用于一小部分项目,但对于数百个项目仍然不是一个好的 UI。

如果您一次只显示一个元素,在树节点上的数百个可能中,那很好。当用户在节点中移动时,一次显示的一个屏幕将与所选项目相关。想想 Outlook 方法,左窗格中选择的内容以适合所显示数据的任何形式显示在右窗格中。

【讨论】:

    【解决方案3】:

    您考虑过 Office 功能区吗?

    功能区在如何显示和显示方面为您提供了很大的灵活性 组织功能,并且非常直观。

    这是关于Ribbonhere 的一个很好的链接

    要使用功能区,您必须从 Microsoft 获得许可。您可以在线进行。

    为用户提供 ketboard shotcuts 通常也是一件好事。

    我还想在菜单上为用户提供“自动完成”字段 这样他们就可以按名称(或其中的一部分)找到函数并成为 能够直接导航到他们想去的地方。

    【讨论】:

      【解决方案4】:

      我一般认为树不是一个好主意,特别是如果您的“层次结构”具有较小的固定深度。

      如果您的固定深度较小,请考虑将树替换为列表。列表顶部可以是基于节点级属性进行过滤的下拉列表。它将占用更少的屏幕空间,因为它是纯垂直的,没有水平分量。

      单击一个项目可以在视图中显示它(就像当前一样),但允许用户双击多个可以启动更多窗口的项目可能是个好主意,或者与现有显示的平铺项目。 (我假设目前,用户在任何给定窗口中一次只能看到一个详细视图。)

      【讨论】:

        【解决方案5】:

        实际上,组织大量项目的层次结构很难超越。我不赞成为大量窗口使用经典的下拉菜单,因为它比在树中更难跟踪您的位置(例如,一棵树可以让您一次查看多个分支)。但这里有一些替代方案:

        我不清楚您是如何最终得到这么多窗口的,但可能是由于类、视图、内容和细节的组合,或者可能是由于对过于复杂的事情使用了以任务为中心的 UI 结构(我在http://www.zuschlogin.com/?p=3 有更多关于这方面的信息)。对于复杂的应用程序,您希望每个重要的数据对象类别(例如,发票、员工)都有一个不同的主窗口。这些都列在一个菜单上,通常很少(15 个或更少)可以是单个非级联下拉菜单。每个窗口的内容由单独的菜单设置,可能由打开对话框的菜单项设置,该对话框可能包括列表框(如打开对话框)或其他用于查询/搜索的控件。每个窗口的“视图”(数据对象的显示方式,例如表格与表格)由“视图”菜单中的菜单项设置。窗口中任何给定对象的详细信息都可以以主从关系的形式显示在窗口内的单独窗格中,实质上是将您的数据对象转换为详细信息菜单。单个窗口可以有多个详细信息窗格供用户打开和关闭以选择要显示的特定详细信息。选项卡也可以在单个窗格中使用以适应内容的细分。

        您说一次显示所有窗口选项并不重要,但通常一次显示所有选项可以让用户更轻松地找到他们需要的内容。也许您需要一个“主”窗口,以组织、标记和分离的类别列出所有其他窗口。如果您的用户选择一个窗口然后在大部分会话中坚持使用它,这将比树更容易使用。如果在整个会话期间经常选择窗口,则您的树会更好,因为访问主窗口会产生开销。如果所有窗口/选项不适合单个主窗口,则在主窗口上仅显示每个类别的选定常用窗口,并提供按钮或链接以显示详尽列表。

        如果您说的是 100 个窗口,也许您应该有搜索,也许除了基于菜单的浏览方法来访问窗口。

        无论如何,提供对几个最常用窗口的轻松访问是一个好主意。这样的窗口可以由设计者根据用户研究明确选择,或者由用户选择(收藏夹),但通常也可以很好地通过使用频率和使用新近度组合的算法使其自动化。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-02-10
          • 2022-11-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-05-03
          相关资源
          最近更新 更多