5

WindowsフォームテキストボックスでEnterキーをキャプチャしようとしています。チュートリアルからこのコードの断片を取得しました:

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    //
    // Detect the KeyEventArg's key enumerated constant.
    //
    if (e.KeyCode == Keys.Enter)
    {
        MessageBox.Show("You pressed enter! Good job!");
    }
    else if (e.KeyCode == Keys.Escape)
    {
        MessageBox.Show("You pressed escape! What's wrong?");
    }
}

しかし今、私のコードはコンパイル/ビルドエラーをスローします:

The event 'System.Windows.Forms.Control.Enter' can only appear on the left hand
side of += or -=    Line 44 Column 84

一方で、私はエラーメッセージを理解していません。一方、44行目は改行文字のみの空白行です。

アドバイスをいただければ幸いです。

よろしく。

4

1 に答える 1

2

Designerファイル(form.Designer.cs)を確認してください

デザイナーは次のようになります。

this.textBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.textBox1_KeyDown);

Enterイベントにサブスクライブしている可能性があります。これは実際にはEnterキーではありません。それはその上にあるためのものであり、Leaveイベントとペアになっています。

于 2012-06-01T16:55:17.543 に答える