キーボードのキーが押されたことを検出するコードを紹介します。
概要
キーボードのキーの押下を判定するには、KeyDownイベントを利用します。アプリケーションへのキーの押下であればFormのKeyDownイベントを利用します。
プログラム例
UI
下図の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;
}
実行結果
アプリケーションを実行すると下図の画面が表示されます。
キーボードの右カーソルキーを押すと、フォームのタイトルバーにメッセージが表示されます。
キーボードの左カーソルキーを押すと、フォームのタイトルバーのメッセージが変わります。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2018-01-17
作成日: 2012-02-08