Kevin
Kevin

Reputation: 1240

Visual Studio C# Capturing Enter Key In Textbox

I am trying to capture the Enter key in a Windows Forms Textbox. I got this fragment of code from a tutorial:

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?");
    }
}

but now my code throws a compile/build error:

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

On the one hand I don't understand the error message. On the other hand line 44 is a blank line having only a newline character.

Any advice is appreciated.

Regards.

Upvotes: 5

Views: 19162

Answers (1)

Gerhard Powell
Gerhard Powell

Reputation: 6185

Check the Designer file (form.Designer.cs)

Your Designer should be:

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

You may have subscribed to the Enter event. That is actually not the Enter key. That is for being on it, and it is paired with the Leave event.

Upvotes: 2

Related Questions