【发布时间】:2021-01-13 10:43:38
【问题描述】:
我有一个带有三个按钮 A B 和 C 的模态表单。
此外,我还有两个按钮:OK 和 Cancel。 OK 按钮的DialogResult 属性设置为DialogResult.OK 和Cancel 按钮DialogResult.Cancel。
表单的AcceptButton 和CancelButton 属性设置为这些按钮。
目前,当我按下ESC 键时,窗体已关闭,但如果我在其他按钮(A、B、C)之一是活动控件时单击 ENTER 键,则窗体不会关闭。我该如何克服这个问题?
我有两个选择:
-
Enter 将始终关闭表单(选择焦点按钮然后关闭它),
-
第一次按下 Enter 键将选择焦点按钮,第二次按下
ENTER将关闭表单。问题是可能选择了 ButtonA,但用户可以使用箭头键查看 ButtonB或C。
我无法将DialogResult.OK 设置为其他按钮,因为在这种情况下,正常单击也会关闭表单,我无法检测是否由于 Click 事件或ENTER键...
【问题讨论】:
-
向我们展示您编写的代码。
标签: c# winforms dialogresult acceptbutton