简体   繁体   中英

Detecting Enter key press on a button c#

This piece of code detect most keys and puts it in a messageBox, but one of the keys it doesn't is the enter key. *Note it is a key_down method

MessageBox.Show(e.KeyData.ToString());

so far I have tried so many methods to fix and searched a lot for an answer I have tried this

private void button1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{

    if (e.KeyCode == Keys.Enter)
    {


        MessageBox.Show("this is it");
        e.IsInputKey = true;
    }

}

it says 0 references which I know I'm not calling the method but where do I call it? where ever I do call it, it gives an error.

you delete this line

 e.IsInputKey = true;
 private void button1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            MessageBox.Show("this is it");
            //e.IsInputKey = true;
        }
    }

or

    private void button1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            MessageBox.Show("this is it");
            //e.IsInputKey = true;
        }
    }

In your Form1 Design Properties:

AcceptButton Property set dropdown to button1 or the name of your Button

KeyUp Event of your Button

private void button1_KeyUp(object sender, KeyEventArgs e)
{
     if (e.KeyCode == Keys.Enter)
      {
          MessageBox.Show("Enter key has been pressed");
      }
}

or

 private void button1_KeyUp(object sender, KeyEventArgs e)
        {
            button1_KeyDown(sender, e);
        }

        private void button1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                MessageBox.Show("Enter key has been pressed");
            }
        }

Put this line soon after: InitializeComponents(); --> button1.PreviewKeyDown +=new PreviewKeyDownEventHandler(button1_PreviewKeyDown); .
The event you're trying to use will only fire when you focus on that button. The focus is passed in 2 different ways ( via user interaction ) one of which is an actual mouse click on that element and another is "tabbing" on to the control, and make sure you read about "Events" and "EventsHandlers"

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM