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