ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

コントロールでキー入力の判定

あるコントロールにフォーカスがあるときにキーが押されたかどうかの判定には、KeyDown,KeyPress,KeyUpイベントを使う。
KeyPressは文字以外のキーでは発生しないことに注意。最初、Deleteキーの判定に使おうとして、何故動かないのか悩んでしまった。
KeyPressでEnterキーを判定する例は次の通り。

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == (char)Keys.Enter)
    {
        ...
    }
}

KeyDownでDeleteキーを判定する例は次の通り。

private void listBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Delete)
    {
        ...
    }
}