我有一个MDI窗体窗体应用程序,我的子窗体大多都有“确定”和“取消”按钮。但是我不想用ENTER/ESC键激活它们以防止意外的保存/中止。所以,窗体的AcceptButton和CancelButton都设置为none。 ESC按钮确实没有任何作用,但ENTER按钮仍然通过“点击”找到的第一个按钮来关闭窗体,按TabOrder排序。将AcceptButton设置为None仍然关闭ENTER上的表单
这是为什么?我真的应该开始做解决方法并捕获ENTER键吗?
加:好吧,这是方式怪异的。 Reflector告诉我,如果Tab Order的第一个控件(当然,窗体打开时默认为活动的控件)是一个按钮,那么它将被指定为默认控件。否则没有任何反应现在问题变成:WTF?
不,不是的。即使选择了另一个控件,ENTER键仍然有效。正如我所说 - 它实际上做了窗体的**默认**按钮(这意味着“用户按下ENTER时被按下的按钮”)。 – 2010-03-24 09:43:41