我应该在 Windows 消息框中使用警告图标还是问号图标



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

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

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

你们都说两者中哪个更专业?

我真的不认为这是一个"专业"的问题,但它绝对与Microsoft的指导方针相矛盾。

MB_ICONQUESTION 标志的文档是这样说的(对于 MessageBoxIcon 枚举的"问题"成员也是如此):

消息框中将显示一个问号图标。不再建议使用问号消息图标,因为它不能清楚地表示特定类型的消息,并且因为消息作为问题的措辞可能适用于任何消息类型。此外,用户可能会将消息符号问号与帮助信息混淆。因此,不要在消息框中使用此问号消息符号。系统继续支持包含它只是为了向后兼容。

Windows 用户体验交互指南的标准图标部分非常明确地指出,问号图标应仅用于指示"帮助入口点":

问号图标

  • 仅对帮助入口点使用问号图标。有关详细信息,请参阅帮助入口点指南。
  • 不要使用问号图标提问。同样,请仅对帮助入口点使用问号图标。无论如何,无需使用问号图标提问 - 将主要指令作为问题呈现就足够了。
  • 不要经常将问号图标替换为警告图标。仅当问题具有重大后果时,才将问号图标替换为警告图标。否则,不使用图标。

我强烈建议您阅读整个文档;它提供了许多有关选择正确图标的有用提示。但在这种特殊情况下,由于您要求用户确认涉及潜在数据丢失的操作,因此您绝对应该使用警告图标,与以下准则一致:

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

我会为对话框使用警告图标,警告用户将发生不好(或不可逆转)的事情。

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

清除数据是需要正确突出显示的事情。必须警告用户,尤其是当它是"所有数据"时,并且如果您没有任何备份解决方案。因此,在这种情况下,第二个更合适

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

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

一个问题更像是:

是否确实要清除所有数据?

文本还应是完整且语法正确的句子。

比图标更重要:如果您认为这是一个有潜在风险的操作,则应将"否"按钮设置为默认值,即使用采用MessageBoxDefaultButton参数并指定以下内容的重载:

...,MessageBoxDefaultButton.Button2

最专业的做法是使操作不可执行,从而使确认/警告完全没有必要。

如果它真的无法撤消,那么请遵循Windows指南,正如Cody在他的答案中列出的那样。

他们同样专业或不专业,这取决于你的观点=)。您应该考虑要尝试向用户传达的内容。从您对问题的描述来看,我倾向于使用"警告",因为清除这些字段似乎可能会产生负面影响。

现实情况是你可以使用任何一个,而且看起来很好。 但这并不意味着它的设计正确。

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新