-3

VS 2010 で機能しないのはなぜですか? フォームをクリックした後に「a」を押しても何も起こりません。

private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyData == Keys.A)
        {
            MessageBox.Show("A");
        }
    }
4

4 に答える 4

1

問題のフォームで KeyPreview を使用します。

public Form1()
{
    InitializeComponent();
    this.KeyPreview = true;
}
于 2012-10-17T17:18:56.830 に答える
0

キーを押したときに、フォームにフォーカスがない可能性があります。

イベントがフォーカスのあるコントロールに渡される前に、フォームがキーイベントを受信するかどうかを示す値を取得または設定します。

this.KeyPreview = true;
于 2012-08-30T21:56:13.863 に答える
0

やった?

KeyPreview = true;

http://msdn.microsoft.com/en-us/library/system.windows.forms.form.keypreview(v=vs.100).aspx

于 2012-08-30T21:56:39.897 に答える
0

KeyEventHandler が割り当てられていますか?

KeyDown += Form1_KeyDown;
于 2013-06-27T15:56:23.047 に答える