Windows上で.Net Frameworkを使用してゲームなどを作るとき、キー入力を取得したい場合があります。
このような場合、画面内のTextBoxなどにフォーカスが当たっていると、キー入力をフォーカスが当たったコントロールが処理してしまいます。
このような場合は、FormのKeyPreviewをtrueにするとよいです。
実際のキー入力チェック処理は、FormのKeyDownイベントで取得すると便利です。
using System; using System.Windows.Forms; namespace Test01 { public partial class Form1 :Form { public Form1() { InitializeComponent(); } private void Form1_Load( object sender, EventArgs e ) { // Formコントロール自身がキー入力を取得可能とする this.KeyPreview = true; } private void Form1_KeyDown( object sender, KeyEventArgs e ) { // 入力されたキーを判定する switch ( e.KeyCode ) { case Keys.Up: textBox1.Text = "[UP]"; break; case Keys.Down: textBox1.Text = "[DOWN]"; break; case Keys.Left: textBox1.Text = "[LEFT]"; break; case Keys.Right: textBox1.Text = "[RIGHT]"; break; default: textBox1.Text = ""; break; } } } } |
関連記事
コメントを残す