【问题标题】:Using a "hyperlink" effect in Winforms applications在 Winforms 应用程序中使用“超链接”效果
【发布时间】:2010-02-22 10:35:40
【问题描述】:

人们对在 Winforms 应用程序中使用假装超链接有何看法?

例子:

在我的示例中,您将单击“进入”Acme Corp Inc 的组织记录卡或“进入”下一次约会的详细信息。

如果我们暂时忽略用户如何编辑组织或添加/删除约会,在 Winforms 中使用蓝色和下划线表示是否明智的 UI 单击此处,我​​会带您进入新屏幕

如:

TextBox1.Font = New Font("Blah", 8.25!, FontStyle.Underline etc
TextBox1.ForeColor = Color.Blue

不要忘记:

TextBox1.Cursor = Cursors.Hand

这适用于相当丰富的应用程序(例如 CRM),其中您有许多不同类型的屏幕,并且用户在各种记录之间导航。并且您想向用户展示他可以在详细视图、网格、孩子、父母、兄弟姐妹等之间导航。

优点:

  • 它对用户来说很熟悉,它是 明显,不突兀或 占用任何屏幕空间

  • 易于实施

  • 常用的替代方法(按钮 带有图标甚至只有三个点 [...]) 看起来有点老式, 在网格中不能很好地工作,并且 占用空间

缺点:

  • 具有所有灵活性和控制力 你有一个 Winforms 前端,你 应该能够设计一个智能用户界面 无需从 浏览器(也许???)

  • 这些伪链接不会像 真正的锚标签(不会有任何 “访问” [即。如果我有,把我变成紫色 已经在这里]或“悬停” 行为并且没有在新标签中打开 功能,无需大量工作)...可能会让用户感到厌烦?

  • 有损真正的超链接(如 在电子邮件地址等) - 这些没有 更长的时间站出来作为链接“out to 互联网”(对浏览器,对 电子邮件客户端)...非常小的问题?

【问题讨论】:

  • 关于“缺点 1” - 别担心。原创设计有它的位置,但惯例的存在是有原因的。如果您想要创新设计,请在您理解我的意思的情况下在约定范围内或围绕约定进行创新。
  • 有一件事 - 我发现链接周围的框有点令人惊讶。他们似乎建议我可以单击并开始键入(编辑控件),就像单击向下钻取一样容易——这是一个约定俗成的事情。链接和静态控件通常不存在于那种样式的框中,但编辑控件通常存在。可编辑的超链接并不矛盾,但这是您想要的吗?
  • @Steve314:你的观点都很好

标签: winforms user-interface usability


【解决方案1】:

甚至浏览器都不是这样工作的。使用 LinkLabel,而不是 TextBox。

【讨论】:

  • 关于 LinkLabel 而不是 TextBox 的优点。我不认为改变了基本问题......它是winforms的明智用户界面吗?使用蓝色和下划线表示“单击此处,我​​将带您进入新屏幕
  • 按钮是通常的选择。如果您的 UI 在其他方面非常类似于浏览器,我认为 LinkLabel 没有问题。
【解决方案2】:

一般来说,在胖客户端应用程序中使用超链接(真实的或模拟的)来打开附加信息的表单是个好主意。区分仅导航的控件(超链接)和更改基础数据的命令(命令按钮)是有帮助的,因此用户知道他们正在进入什么。我认为大多数用户并不关心(甚至不知道)是否涉及浏览器。导航就是导航。

让一个属性值看起来和像你所做的那样像一个超链接一样很好,除了对大多数应用程序来说是一个阻碍的事情:它排除了与属性的任何其他交互。用户无法编辑甚至复制属性值,因为在该字段中的任何点击都会启动新表单。请记住,要编辑值,例如更正一个月中的某一天,用户可能倾向于单击字段中间来定位光标。即使您使用下拉菜单(例如,设置组织),您也希望允许用户单击该字段并通​​过键入他们想要的值的前几个字母来进行选择。如果您的应用有一个需要可编辑的下钻字段,那么为了内部一致性,您的所有字段都不能使用超链接——所有下钻都需要通过其他方法。

此外,虽然超链接对于导航很直观,例如向下钻取,但我不确定它们是否适合分配字段值。获取有关 Acme Corp 组织的更多信息(这是您的 Acme Corp 链接所暗示的)与获取对话以选择 John Smith 的组织(分配功能)之间存在差异。因此,如果您的意图是分配而不是真正的向下钻取,那么链接可能不是一个好主意。对于分配,带有三个点的按钮很有意义。赋值改变了基础数据,所以它应该使用一个命令按钮。它是下拉控件中按钮的自然扩展。三点按钮标题最大限度地减少了使用的空间并与对话框相关联,因为这就是它们在菜单和按钮标题中的含义。它可能看起来过时,但这就是它起作用的原因——它与过去的用户体验一致。

【讨论】:

    【解决方案3】:

    我觉得不错。无论如何,链接的概念已经从 Web 迁移到了桌面应用程序。用户应该毫无问题地接受这一点(可能在前十分钟使用您的程序之后)。

    在企业应用程序中也很受欢迎。

    也许考虑将颜色更改为棕色或绿色,这样它就不会立即暗示原生网络链接。

    还有许多使用一些事件驱动框架(如 ASP.NET WebForms、JSF 等)构建的 Web 应用程序大量使用不链接任何地方但调用一些服务器端处理(基本上是事件处理程序)的链接。所以用处不大。

    【讨论】:

      【解决方案4】:

      我不喜欢它。如果我看到一个链接,我希望它在单击时会打开一个浏览器窗口。更标准的是在标签旁边有一个小的“编辑”按钮/图标。你可以在文本后面加上一个链接样式的“(编辑)”,这看起来也很正常,而不是暗示涉及浏览器。

      例如:

      组织:| Acme 垃圾桶(编辑)|

      组织: | Acme 垃圾桶| (编辑)

      【讨论】:

      • 如果我不编辑,只是导航到 Acme 组织的记录卡怎么办
      • 嗯。如果您真的想要这种方法,请在黑色下划线。或者有一个“查看”/“详细信息”按钮而不是“编辑”。这样,如果一些用户可以查看而其他用户可以编辑,它仍然很灵活。
      • 喜欢所有案例的“详细信息”标签,我会将其设为链接,而不是按钮。 “详细信息”不对用户的操作做出任何假设(如果用户想要编辑怎么办——他们会想,“哦,我只能用这个查看按钮查看”?)。这样的标签与链接被标记的地方是一致的,而不是用户做什么。 OTOH,这是一个很长的词,占用大量空间,即使是作为链接而不是按钮。缩写?或者也许这么重要的东西值得一个大的鼠标目标?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-07
      • 2013-05-06
      • 2011-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多