1

我正在设计程序的(G)UI,并且偶然发现了一个问题;程序会将一个数字转换成不同的单位,转换成的单位的布局是:

[单位名称(单击时提供信息)] [特殊状态,如果有的话] [文本字段中的输出,也可用于输入(转换为其他单位)]

我希望用户能够将 outputnumber 复制到剪贴板上,而不必弄乱突出显示并找到要按下的正确按钮。所以,我想我会在文本输出字段之后做一个按钮,说“C”或“Copy”之类的东西。

但我昨天在joelonsoftware.com上阅读,发现用户似乎很笨拙。所以我该怎么做?

我考虑了许多不同的选择:

  1. 单击文本字段以复制到剪贴板-但是:我也想将其用于输入
  2. 按键盘上的一个数字来复制相应的数字 - 但是:可能会超过 10 个,我需要它们来进行新的输入
  3. 更大的复制按钮,就像上面所说的“复制” - 嗯,这行得通吗?我知道我喜欢尽可能使用键盘,因此涉及它的解决方案会很好。
  4. 每个单元都有自己的空间,所有内容(名称,文本字段等)都适合。如果单击该空间中除名称或文本字段之外的任何位置时它会复制到剪贴板怎么办。- 但是:如果你错过了,意味着单击一个文本字段下方,然后单击另一个文本字段上方怎么办?
  5. 但是,当我走的时候突出单位的空间呢?- 仍然可能意味着麻烦...

你怎么看?我想我可能会选择#3 - 更大的复制按钮..

4

5 回答 5

1

如果您觉得复制按钮将是一个非常常见的操作,那么在每个字段之后添加一个复制按钮并没有什么问题。

但是有两个建议:

  1. 在外观方面,请确保按钮与字段明确关联。对于文本字段,最好的方法是将复制按钮放在文本字段内(在右侧 - 但要准备好通过根据需要切换其位置来处理 RTL 语言!)。

  2. 为避免使其过大,不要使用任何文本,而是使用 Windows 的常用图标进行复制(例如:),并将文本放入其工具提示中。如果你这样做,你也可以完全摆脱按钮边框,进一步减小它的大小,尽管你仍然需要一些视觉悬停指示器来明确它是一个活动的 UI 元素。事实上,您可能想要专门复制 Vista/Win7 Explorer(也见于 IE7/8)UI 的位置字段和其中的重新加载图标。

于 2009-10-18T22:25:26.977 回答
0

如果您不小心点击了错误的区域,您可以在之后点击正确的区域。如果您的问题在于用户不知道他们何时点击了错误的区域,只需突出显示最后点击的区域。

当他们单击文本字段时复制文本字段中的内容是否有问题?那么如果它被用于输入呢?他们只是在输入值复制他们需要的值。

您也可以在文本框中有一个ctrl-click或作为副本。shift-click

大多数人都知道如何在自己的计算机上复制文本。也许最好的解决方案是在获得焦点时自动突出显示文本框中的所有文本,以便他们可以通过 ctrl-c 复制或开始输入以开始输入。

于 2008-11-19T14:53:57.503 回答
0

无论您做什么,使用操作系统标准的键盘和鼠标事件绑定以及更可取的外观也很重要,否则用户会感到困惑。

于 2009-10-18T22:14:36.087 回答
0

我认为解决方案 #3 是您列表中最好的,但我想看看您的 GUI 草图。

于 2008-11-19T15:00:56.943 回答
0

对于纯粹的速度,键盘是要走的路。用字母 AZ 来复制文本框怎么样?跳过“E”允许输入科学计数法。潜在的速度很高,但可学习性很低。我预计即使页面/窗口上有说明文字,用户也很难弄清楚这个 UI,如果用户必须阅读说明文字,那么所花费的时间可能会抵消 UI 的时间节省,除非用户一直在使用该应用程序(乔尔也正确地写了用户讨厌阅读的内容)。

对于只偶尔使用的应用程序,大按钮是更好的选择,越大越好,正如菲茨定律所预测的那样。并且绝对将其标记为“复制”,而不是“C”而不是图标,以最大限度地提高可学习性。您的其他想法在没有键盘速度的情况下存在可学习性和耐受性问题。

也就是说,我认为你把乔尔所说的太过分了。当然你想消除不必要的点击,但是这种类型的应用程序的典型设计需要单击文本框(默认情况下应该突出显示整个值),然后单击复制菜单项 - 或者更好,Alt-键盘上的 C 或 Ctrl-C。我很难想象节省一次点击或几次键盘按键的任务会值得你的文本框旁边的一堆复制按钮的混乱。你还会有粘贴和清除按钮吗?在某些时候,混乱会比额外的点击减慢用户的速度。

用户多久复制一次?如果每个会话真的要几十次,那么你应该重新考虑整个设计方法,因为一次复制和粘贴一个数字会变得乏味。也许您应该支持批处理,一次获取多个数字并以已经适合预期用途的形式输出结果。也许它可以像 Enso 那样在其他应用程序中工作:用户在任何应用程序的任何文档或文本字段中突出显示一个数字,命令转换 - 英尺 - 米,它在文档或字段中已更改。

于 2008-11-20T02:22:22.513 回答