Подтвердить что ты не робот

Введите ключевое слово в С#

Я пробовал этот код:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (Convert.ToInt32(e.KeyChar) == 13) 
    {
        MessageBox.Show(" Enter pressed ");
    }
}

и это:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == Convert.ToChar(Keys.Enter))
    {
        MessageBox.Show(" Enter pressed ");
    }
}

и это:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == Keys.Enter)
    {
        MessageBox.Show(" Enter pressed ");
    }
}

но они не работают...

Когда я что-то пишу и нажимаю Enter, он не работает. Это только подчеркивает мой текст.

4b9b3361

Ответ 1

Попробуйте этот код, может работать (Предполагая форму окна):

    private void CheckEnter(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
       if (e.KeyChar == (char)13)
       {
         // Enter key pressed
       }
    }

Зарегистрируйте событие следующим образом:

this.textBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(CheckEnter);

Ответ 2

Вы должны попробовать это в событии keydown

вот код для этого:

private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.Enter)
        {
            MessageBox.Show("Enter pressed");
        }
    }

Обновление:

Также вы можете сделать это с помощью события нажатия клавиши.

Попробуйте следующее:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar == Convert.ToChar(Keys.Return))
        {
            MessageBox.Show("Key pressed");
        }
    }

Ответ 3

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == (char)Keys.Enter)
    {
        MessageBox.Show("Enter Key Pressed");
    }
}

Это позволяет вам выбрать конкретный ключ, который вы хотите, без нахождения значения char ключа.

Ответ 4

private void textBoxKontant_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Return)
            {
                MessageBox.Show("Enter pressed");
            }
        }

Скриншот:

Ответ 5

KeyChar ищет целочисленное значение, поэтому его необходимо преобразовать следующим образом:

    private void Form1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar == Convert.ToInt16(Keys.Enter))
        {
            MessageBox.Show("Testing KeyPress");
        }
    }

Ответ 6

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

Работал для меня.

Ответ 7

private void Input_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.Return)
        {
            MessageBox.Show("Enter pressed");
        }
    }

Это сработало для меня.

Ответ 8

Также вы можете сделать это с помощью события нажатия клавиши.

 private void textBox1_EnterKeyPress(object sender, KeyEventArgs e)

 {

  if (e.KeyCode == Keys.Enter)
   {
     // some code what you wanna do
   }


}

Ответ 9

Вы можете использовать этот код:

abc_KeyDown(abc, new KeyEventArgs(Keys.Enter));

Ответ 10

Для меня это было наилучшим решением:

private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyData == Keys.Enter)
    {
        MessageBox.Show("Enter key pressed");
    }
}

Result

Ответ 11

Имея в виду, что

Keys.Return отличается от Keys.Enter

//Makes it easier to Type user and password and press Enter, 
//Rather than using the mouse to Click the Button all the time
    private void Txt_Password_KeyDown(object sender, KeyEventArgs e)
    {
        if(e.KeyCode == Keys.Return)
        {
            Btn_Login_Click(null, null);
        }
    }

Надеюсь, что это поможет кому-то.

Ответ 12

Вместо использования события Key_press вы можете использовать событие Key_down. Вы можете найти это ниже Событие
после двойного щелчка здесь он автоматически этот код

private void textbox1_KeyDown(object sender, KeyEventArgs e)
    {

     }

Проблема решена теперь, как вы хотите.

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

Ответ 13

Попробуйте следующее:

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
        switch (e.Key.ToString())
        {
                case "Return":
                        MessageBox.Show(" Enter pressed ");
                        break;
         }
}