C# Сравните клавишу, нажатую на клавиатуре

У меня есть текстовое поле и кнопка. Я сохраняю значение (клавиша клавиатуры), введенное в TextBox. Мне нужно дать сообщение, когда я нажимаю правую клавишу клавиатуры.

private void btn_Click(object sender, EventArgs e)
{
    Properties.Settings.Default.text1 = text1.Text;
    Properties.Settings.Default.Save();
}

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyData == text1.Text) //--------->> error
    {
        MessageBox.Show("success");
    }
}

как я могу обеспечить это условие?

2 ответа

Решение

Может быть проще будет использовать KeysConverter

 private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            KeysConverter convertor = new KeysConverter();
            string keyPressed = convertor.ConvertToString(e.KeyValue);
            if (keyPressed == text1.Text)
            {
                //do stuff
            }
        }

Если вы сравните с одним символом текста. Вы можете попробовать это.

private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (txt.Text.Length == 1 && e.KeyValue == (int)txt.Text[0]) //--------->> error
            {
                MessageBox.Show("success");
            }
        }
Другие вопросы по тегам