【发布时间】:2012-04-04 02:14:43
【问题描述】:
我将一个表单呈现为一个对话框。该表单包含一个 DataGridView、一个 TextBox 和 OK/Cancel 按钮,如下所示:
- 我已将表单的 AcceptButton 属性设置为“确定”按钮,将表单的 CancelButton 属性设置为“取消”按钮。
- 我已将确定按钮的 DialogResult 属性设置为“确定”,将取消按钮的 DialogResult 属性设置为“取消”
如果文本框有焦点,则按 Enter 会关闭表单,并显示 DialogResult 为 OK。但是,如果 DataGridView 具有焦点,则按 Enter 不会关闭表单。
但是,按 Escape 键总是会导致表单以 Cancel 的 DialogResult 关闭。
这是一个两部分的问题:
- DataGridView 有焦点时回车键行为不一致的原因是什么?
- 当 DataGridView 获得焦点时,如何使 Enter 关闭表单并显示 OK 的 DialogResult?
【问题讨论】:
标签: c# winforms button datagridview