【发布时间】:2010-03-20 20:35:43
【问题描述】:
我有一个 MDI windows 窗体应用程序,我的子窗体大多有“确定”和“取消”按钮。但是,我不希望使用 ENTER/ESC 键激活它们以防止意外保存/中止。因此,表单将 AcceptButton 和 CancelButton 都设置为 none。 ESC 按钮确实什么都不做,但 ENTER 按钮仍然通过“单击”找到的第一个按钮关闭表单,按 TabOrder 排序。
为什么会这样?我真的必须开始做变通方法并抓住 ENTER 键吗?
补充:好的,这更奇怪了。 Reflector 告诉我,如果 Tab Order 的第一个控件(实际上是打开表单时默认处于活动状态的控件)是一个按钮,那么它将被分配为默认控件。否则什么都不会发生。现在问题变成了:WTF?!
【问题讨论】:
标签: .net winforms acceptbutton