プロセスの実行中に表示されるプログレスバーとキャンセルボタンを備えたフォームがあります。ボタンの「キャンセル」プロパティは true に設定されているため、エスケープを押すとプロセスがキャンセルされます。
ただし、ボタンはフォーカスを取得できるフォーム上の唯一のコントロールであるため、プロセスの実行中にユーザーが誤って Enter キー (またはスペースバー) を押すと、プロセスはキャンセルされます。
(フォーム上で) KeyPreview を true に設定してから KeyAscii を 0 に設定することでスペース バーが機能しないようにしましたが、ボタン クリック イベントが最初に発生するため、このアプローチはエンター キーでは機能しないようです。
ボタンの TabStop プロパティを「false」に設定しようとしましたが、変更はありません。