スポンサーリンク

2013年10月7日月曜日

CancelButton プロパティの仕様

 Windows フォームで Enter キーや Esc キーを押下した際に反応する AcceptButton プロパティと CancelButton プロパティ。
 そのフォームを Show で表示したか ShowDialog で表示したかによって押下後の動作が違うことを初めて知った。

 ShowDialog で表示した場合、CancelButton に設定したボタンを押下すると Close メソッドを読んでいなくても画面は閉じる。
 そのとき、FormClosing の CloseReason には None が設定されている。

 ちなみに、Show では画面は閉じないし当然 FormClosing イベントも発生しない。