代码之家  ›  专栏  ›  技术社区  ›  Stuart Helwig

在vb6中防止Enter键触发按钮单击

vb6
  •  0
  • Stuart Helwig  · 技术社区  · 18 年前

    我有一个带有进度条和“取消”按钮的表单,它显示为进程运行。按钮“取消”属性设置为true,因此按escape键可取消该过程。

    但是,由于该按钮是窗体上唯一能够对焦的控件,因此,如果用户在进程运行时无意中按enter(或空格键),则该按钮将被取消。

    我通过将KeyPreview设置为true(在表单上),然后将KeyAscii设置为0,阻止了空格键的工作,但这种方法似乎不适用于enter键,因为按钮单击事件首先触发。

    我尝试将按钮的TabStop属性设置为“false”-没有更改。

    2 回复  |  直到 18 年前
        1
  •  7
  •   Sergio Acosta    18 年前

    在我看来,回车键 应该激活 取消按钮。或者你是在要求用户伸手去拿鼠标?为什么?

    我建议在用户取消操作后只添加一个确认对话框,这样如果有人意外按下Enter键,就有机会继续说“不,我不想取消”。

    如果取消按钮有焦点,而我按回车键无法激活它,我会很恼火 在我的键盘上。

    我的2美分

        2
  •  2
  •   Windows programmer    18 年前