MDI Windows フォーム アプリケーションがあり、子フォームのほとんどに [OK] ボタンと [キャンセル] ボタンがあります。ただし、偶発的な保存/中止を防ぐために、ENTER/ESC キーでそれらをアクティブにしたくありません。したがって、フォームには AcceptButton と CancelButton の両方が none に設定されています。ESC ボタンは実際には何もしませんが、Enter ボタンは、TabOrder でソートされた最初のボタンを「クリック」してフォームを閉じます。
これはなぜですか?本当に回避策を実行して ENTER キーをキャッチする必要がありますか?
追加: OK、これはかなり奇妙です。Reflector は、どうやらタブ オーダーによる最初のコントロール (実際には、フォームを開いたときにデフォルトでアクティブになるコントロール) がボタンである場合、それがデフォルト コントロールとして割り当てられることを教えてくれます。そうでなければ、何も起こりません。質問は次のように変わります: WTF?!