【C#】Escapeキーを押したらフォームを閉じる方法【KeyPressイベント】

C#についての備忘録シリーズです。

今回は、フォームにフォーカスした状態でEscapeキーを押下するとフォームを閉じる動作をさせるために、KeyPressイベントの追加方法とサンプルコードを紹介します。

フォームにPressKeyイベントを追加

まずはキー入力を待ち受けるために、フォームにPressKeyイベントを追加しましょう。

① フォームのデザイナーを表示

ソリューションエクスプローラでForm1.csを選択して右クリックし、「デザイナーを表示」をクリックします。

② フォームのプロパティウィンドウを表示

表示されたデザイナーで、フォームを選択し、フォームのプロパティウィンドウを表示します。

プロパティウィンドウが表示されてない場合は、メニューの「表示」→「プロパティウィンドウ」を選択しましょう。

③ プロパティウィンドウのイベント設定を表示

プロパティウィンドウの上部に「イベント」ボタン(カミナリのようなマーク)があるので、クリックしてイベント設定を表示します。

④ KeyPressイベントを追加

イベント設定に「KeyPress」欄があるので、任意のメソッド名(たとえば「Form1_KeyPress」など)を入力してEnterを押します。

Enterを押すと、Form1.csのコードへ自動的にKeyPressイベントのメソッドが追加されるはずです。

KeyPressメソッドへロジックを追加

追加されたKeyPressイベントのメソッドへ、下記サンプルコードを追加します。

private void From1_KeyPress(object sender, KeyPressEventArgs e)
{
    if(e.KeyChar == (char)Keys.Escape)
    {
        this.Close();
    }
}

ちなみに、「Keys.Escape」の部分を変えることで、他のキーに変更することもできますね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA