我有一个带有进度条和取消按钮的表单,该按钮在进程运行时显示.按钮"取消"属性设置为true,因此按下escape,取消该过程.
但是,由于按钮是能够获得焦点的表单上的唯一控件,如果用户在进程运行时无意中按下enter(或空格键),它将被取消.
我通过将KeyPreview设置为true(在表单上)然后将KeyAscii设置为0来阻止空格键工作,但是当按钮点击事件首先触发时,这种方法似乎不适用于输入键.
我已经尝试将按钮的TabStop属性设置为"false" - 没有变化.
在我看来,Enter键应激活取消按钮.或者您是否要求用户伸手去拿鼠标?为什么?
我建议在用户取消操作后只添加一个确认对话框,所以如果有人不小心按下回车键,有机会继续说'不,我不想取消'.
但是作为用户,如果"取消"按钮具有焦点,我会感到恼火,而且我无法按键盘上的Enter键激活它.
我的2美分