关闭:MsgBox(“你想保存吗?”)或MsgBox(“你想退出没有保存吗?”)

时间:2010-06-25 01:02:53

标签: user-interface

哪种方法更好,为什么。

6 个答案:

答案 0 :(得分:7)

而不是是/否问题,请使用自定义按钮的问题:

The file blah.txt has been modified. Would you like to save or discard it?

+------+    +---------+    +--------+
| Save |    | Discard |    | Cancel |
+------+    +---------+    +--------+

答案 1 :(得分:3)

您应该为正在开发的平台寻找UI指南(搜索“人机界面指南”或“外观设计指南”)。如果它们存在,您应该关注它们,以便您的应用程序可能符合用户的期望。例如,Apple在Mac OS X上的这种情况下有specific guidelines

此特定方案的典型建议是不要使用“是”或“否”按钮,而是使用描述其执行操作的按钮。例如,您可以显示如下消息框:“文档a.txt已被修改。保存更改?”使用“保存”,“不保存退出”和“取消”按钮。这使用户清楚每个按钮将执行的操作。

答案 2 :(得分:2)

作为其主要目标之一,您的应用程序应该永远不会丢失用户的数据。实现这一目标的一种方法是定期保存用户完成的工作,无需用户干预

这是大多数人在现实生活中习惯的范例。当人们用笔记本写作时,他们并不期望报纸会问“你是否希望我真正将这些改变提交给纸张?”,他们希望这些改变是永久性的,除非他们选择明确地将它们扔掉。

所以,我甚至不会问这个问题,实现一个强大的撤销功能,只是询问(可能在工作会话开始时)一个新的保存文件名,如果它是一个新工作,连续保存并退出

这些想法来自非常有启发性的Why Software Sucks... And What You Can Do About It

答案 3 :(得分:1)

MsgBox(“文件已被修改。你想在退出之前保存吗?”)

使用以下选项

  • 保存并退出(默认,左侧位置)
  • 取消(中心位置,左侧按钮旁边)
  • 丢弃(正确位置,其他按钮与此按钮之间的间距。)


    The file xxx.txt has been modified.
    Do you wish to save before quitting?

+---------+ +--------+ +-------------+ | Discard | <---- SPACING ----> | Cancel | | Save & Quit | +---------+ +--------+ +-------------+

永远不要将丢弃放在其他按钮之间,因为这会在错过点击时出现问题。 http://www.codinghorror.com/blog/2010/03/the-opposite-of-fitts-law.html

答案 4 :(得分:1)

我个人认为重要的是将焦点设置为相当于取消的按钮。我认为很多用户已经习惯了这种提示,只需按下Enter就可以不读取对话框中的内容。当他们这样做时,我认为在大多数情况下,最好是安全地取消它而不是做出承诺。

答案 5 :(得分:0)

我讨厌被问到我是否想亲自保存。如果我需要,我可能会这样做。如果我忘记了,那么我使用的大多数程序都有自动保存功能。

寻求用户界面指南的想法很好,但我同意建议用户干预最少的人。他在纸上书写的比喻击中了头上的钉子。如今,许多程序都带有某种版本控制。