キーボードのキーが押されたことを検出するコードと実行結果を紹介します。
キーボードのキーの押下を判定するには、KeyDownイベントを利用します。アプリケーションへのキーの押下であればFormのKeyDownイベントを利用します。
下図のUIを準備します。新規作成の状態から何も変えていません。
フォームをクリックして選択します。プロパティウィンドウのイベントの[KeyDown]の欄をダブルクリックします。
以下のコードを記述します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace KeyAccept
{
public partial class FormMain : Form
{
public FormMain()
{
InitializeComponent();
}
private void FormMain_KeyDown(object sender, KeyEventArgs e)
{
switch(e.KeyData)
{
case Keys.Left:
this.Text = "左キーが押されました。";
break;
case Keys.Right:
this.Text = "右キーが押されました。";
break;
}
}
}
}
FormMain_KeyDown メソッドがフォームのKeyDownイベントのイベントハンドラです。
イベントハンドラの引数eのKeyDataプロパティに押されたキーのコードが設定されています。switch文でKeyDataの値を判定し、左カーソルキーが押された場合はフォームのタイトルバーに"左キーが押されました。"を右カーソルキーが押された場合は"右キーが押されました。"を表示します。
switch(e.KeyData)
{
case Keys.Left:
this.Text = "左キーが押されました。";
break;
case Keys.Right:
this.Text = "右キーが押されました。";
break;
}
アプリケーションを実行すると下図の画面が表示されます。
キーボードの右カーソルキーを押すと、フォームのタイトルバーにメッセージが表示されます。
キーボードの左カーソルキーを押すと、フォームのタイトルバーのメッセージが変わります。