C#比较键盘上按下的键

时间:2018-04-15 09:30:21

标签: c# winforms keydown buttonclick keyeventargs

我有一个文本框和一个按钮。我保存在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 个答案:

答案 0 :(得分:0)

如果您与一个字符文本进行比较。你可以试试这个。

private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (txt.Text.Length == 1 && e.KeyValue == (int)txt.Text[0]) //--------->> error
            {
                MessageBox.Show("success");
            }
        }

答案 1 :(得分:0)

使用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
            }
        }