Введите ключевое слово в С#
Я пробовал этот код:
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, он не работает. Это только подчеркивает мой текст.
Ответы
Ответ 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;
}
}