Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winforms “取消”按钮是否应要求确认?_Winforms_User Interface - Fatal编程技术网

Winforms “取消”按钮是否应要求确认?

Winforms “取消”按钮是否应要求确认?,winforms,user-interface,Winforms,User Interface,如果用户单击“取消”按钮,是否应弹出一个要求确认的对话框 如果是这样的话,是应该一直这样做,还是只有在表单上有未保存的更改时才这样做?否,除非是非常重要/可能有害的更改。弹出窗口后面跟着弹出窗口是很烦人的。如果取消该操作会破坏数据或设备,则是。例如,在某些设备的固件升级过程中取消。 如果正在执行的操作需要很长时间,并且意外取消需要重新开始,则为“是” 例如,当我决定关闭一个选项卡而不是编辑我的一个问题时,我不觉得StackOverflow上的弹出窗口很烦人。在没有确认的情况下使操作变得容易(不要

如果用户单击“取消”按钮,是否应弹出一个要求确认的对话框


如果是这样的话,是应该一直这样做,还是只有在表单上有未保存的更改时才这样做?

否,除非是非常重要/可能有害的更改。弹出窗口后面跟着弹出窗口是很烦人的。

如果取消该操作会破坏数据或设备,则是。例如,在某些设备的固件升级过程中取消。 如果正在执行的操作需要很长时间,并且意外取消需要重新开始,则为“是”


例如,当我决定关闭一个选项卡而不是编辑我的一个问题时,我不觉得StackOverflow上的弹出窗口很烦人。

在没有确认的情况下使操作变得容易(不要烦扰用户!)。但是,也可以使其易于撤消。阅读大量良好的用户界面建议。

“取消”意味着在操作开始前放弃操作。如果操作已启动,则应将命令命名为“停止”。这让用户很清楚,按钮可能会在中途中断某些内容


真正的取消操作不需要确认,因为它不会导致任何问题。停止操作可能会发生,但前提是中途停止会使事情处于混乱状态。(在这种情况下,你应该考虑找到一种方法来停止所有已经做过的更改,这样状态恢复到动作开始之前的状态。当然,这不可能,就像删除文件一样。)

< P>这取决于情况。

例如,编码一个视频,一个可能需要几个小时的过程,应该有一个确认,因为你可能会意外地在99%的时候点击按钮

另一方面,安装程序或其他应用程序的初始化过程不需要确认,因为它通常可以足够快地重新启动,并且不需要很长时间就可以开始

如果单击“取消”会启动一个可能需要很长时间的过程(比如说它需要反转更改),则应该通知用户这一点,可能会弹出一个弹出窗口,但按钮旁边的一些文本也可能足够了


一般规则是尽可能减少确认对话框,例如,如果可以用撤消操作替换确认对话框。但我认为这不适用于大多数取消按钮。

使用以下算法确定问题的答案:

if (1-p)*w > p*a then ask for confirmation
在哪里

  • p是用户真正想要取消的概率(0.7左右)
  • w是因疏忽取消而损失的(工时)时间量
  • a是由于anoying确认而损失的时间(5秒左右)
当然,你必须估计p,w和a。使用我的默认值,当无意取消会花费用户超过10.5秒的时间时,您应该请求确认。
因此,在长时间操作的情况下,例如编码视频,您不应该询问用户是否在启动该任务后10秒内单击“取消”。在数据输入的情况下,不要询问表单是否仍然为空,而是询问用户是否已经输入了数据。

基本上,如果撤销取消很困难、耗时或不可能,您应该提示用户。通常情况下,当用户执行了一些他们可能希望保留的操作(例如写博客文章和关闭选项卡、更新硬件设备上的固件、运行系统更新、安装大型软件)而不是删除当前状态时,就会出现这种情况。毕竟,有时“取消”按钮可能会被意外单击。您只需要使用常识来确定如果操作被意外取消(这将调用取消提示),对用户来说是否会是一种非常糟糕的体验,或者他们是否可以轻松地重新启动意外取消的任何操作而不会造成太大损失。我解决这些问题的策略是设身处地地为用户着想,即想象自己是这个程序的用户。如果我不小心点击了“取消”,我会有什么感觉???如果这种心态是严峻的,就加上一个提示以防万一

我认为答案在于数据

若用户对数据进行了更改,而不是说单击界面上的某个位置,则应要求用户确认退出。
但如果没有发生变化,就没有理由确认。因为确认是用户的一项工作。

最好不要提示,但如果可能的话,可以在取消后轻松撤消取消。GMail做得很好。单击“删除”,它会删除,但顶部会有一个链接,上面写着“撤消删除”。

+1对于耗时的操作。虽然我不同意“取消操作会破坏数据”。几乎所有表单都会从用户处获取一些输入,如果按下“取消”,则将其设置为“取消”!只是我还是SO的链接插入机制很臭?只有你。不是每个人都把垃圾扔进链接。