我应该在Windows消息框中使用警告图标或问号图标吗?

时间:2011-05-20 15:52:12

标签: .net windows user-interface icons messagebox

很多人都知道MessageBoxIcon类型的“问题”。如果你不是特别熟悉这个图标,它只是一个美化的问号。我很好奇这个图标在专业应用程序中是否可以接受。例如,假设我有一个按钮,当单击该按钮时,将清除整个表单上的所有文本字段。当点击按钮时,我想警告用户他的行动将要做什么。我可以写下列之一:

MessageBox.Show("Really clear all data?", "Clear confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

OR

MessageBox.Show("Really clear all data?", "Clear confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

你们都会说这两个人更专业?

9 个答案:

答案 0 :(得分:25)

我并不认为这是“专业化”的问题,但它肯定与微软的指导方针相矛盾。

MB_ICONQUESTION标记的documentation可以这样说(MessageBoxIcon enum的“问题”成员也是如此):

  

消息框中会出现一个问号图标。不再推荐使用问号消息图标,因为它不能清楚地表示特定类型的消息,并且因为作为问题的消息的措辞可以应用于任何消息类型。此外,用户可以将消息符号问号与帮助信息混淆。因此,请勿在消息框中使用此问号消息符号。系统继续支持其包含仅用于向后兼容。

Windows用户体验互动指南的Standard Icons部分非常明确地说明问号图标应用于表示“帮助入口点”:

  

问号图标

     
      
  • 仅对“帮助”入口点使用问号图标。有关详细信息,请参阅“帮助入口点指南”。
  •   
  • 请勿使用问号图标提问。同样,请仅将问号图标用于帮助输入点。无论如何都无需使用问号图标提问 - 只需将主要指令作为问题提供。
  •   
  • 不要经常用警告图标替换问号图标。只有在问题有重大后果时才用问号图标替换问号图标。否则,请使用无图标。
  •   

我强烈建议您阅读整篇文件;它提供了许多有关选择正确图标的有用提示。但在这种特殊情况下,由于您要求用户确认涉及潜在数据丢失的操作,因此您应该使用符合本指南的警告图标:

  
      
  • 对于问题对话框,仅对具有重大后果的问题使用警告图标。
  •   

答案 1 :(得分:4)

我会在对话框中使用警告图标,警告用户会发生错误(或不可逆转)的事情。

警告图标的目的是引起用户注意他即将犯错的事实。
即使对话框包含问题,也是如此。

答案 2 :(得分:3)

清理数据需要正确突出显示。必须警告用户,特别是当它是“所有数据”时,如果您没有任何备份解决方案。因此,第二个在这种情况下更合适

答案 3 :(得分:2)

我通常遵循以下规则:如果您使用警告图标,则应指明问题,例如:

  

清除数据无法撤消。想继续吗?

问题更像是:

  

您确定要清除所有数据吗?

文本也应该是完整的,语法正确的句子。

答案 4 :(得分:2)

比图标更重要:如果你认为这是一个有潜在危险的操作,你应该将No按钮设为默认值,即使用带有MessageBoxDefaultButton参数的重载并指定:

...,MessageBoxDefaultButton.Button2

答案 5 :(得分:2)

最专业的是将动作撤消,从而完全不需要确认/警告。

如果它真的无法撤消,请按照Windows指南,如他在答案中列出的Cody。

答案 6 :(得分:1)

根据您的观点,他们同样专业或不专业=)。您应该考虑尝试与用户沟通的内容。根据您对问题的描述,我倾向于使用“警告”,因为清除这些字段可能会产生负面影响。

答案 7 :(得分:0)

它的实际情况是你可以使用它,它看起来很好。但这并不意味着它的设计正确。

清除所有用户的数据应该有一个警告图标。

原因?您弹出的消息应该传达手头的情况。使用 ?图标可能无法传达正确的信息。但是,使用警告图标 - 因为应该警告用户应用程序打算清除她的所有数据。

答案 8 :(得分:0)

老实说..我会说"Are you sure you wish to clear all data"而不是"Really clear all data?" ......无论图标是什么。

有关图标的信息,您可以阅读其他帖子!