2

ユーザーがテキスト ボックスにテキストを入力するフォームがあるというエラー メッセージが表示される C# プログラムで支援が必要です。ユーザーが Enter キーを押したかどうかを検出しようとしています。そうすると、メッセージを含むメッセージ ボックスが生成されます。ただし、キーの押下を検出できる「KeyEventArgs」クラスを呼び出そうとしていますが、次のエラー メッセージが表示されます。

デリゲート「System.EventHandler」に一致する「TextBox_KeyDown」のオーバーロードはありません

私が使用している TextBox のコードは次のとおりです。

    private void TextBox_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            MessageBox.Show("You have entered the correct key.");
        }
    }

エラー メッセージをクリックして詳細を表示すると、使用しているフォームの Designer クラスに移動し、次のテキストに下線が引かれます。

   this.TextBox.KeyDown += new System.EventHandler(this.TextBox_KeyDown);
4

2 に答える 2

2

KeyEventHandler代わりにを使用してください。また、あなたの名前はTextBox本当TextBoxですか?インスタンスを参照しているのか、TextBox コントロール オブジェクトを参照しているのかが曖昧になるため、これはお勧めしません。

 this.TextBox.KeyDown += new KeyEventHandler(this.TextBox_KeyDown)

エラー メッセージは、メソッドのシグネチャは である(object sender, KeyEventArgs e)が、渡そうとしているデリゲートは実際には のシグネチャを持っているという事実を示しています`(object sender, EventArgs e)

于 2013-03-22T17:59:56.380 に答える
0

this.TextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBox_KeyDown); を試してください。

于 2013-03-22T18:00:19.693 に答える