如何抓住"@"从键盘输入字符

本文关键字:quot 输入 字符 键盘 何抓住 | 更新日期: 2023-09-27 18:04:38

我试图在wpf文本框控件中使用事件keyDown事件,并使用e.Key捕获单击键,但是由于"@"字符没有键,我无法捕获它。如何检测"@"键被点击

private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
{
    if(e.Key == Key.) // nothing corresponding the at key 
}

如何抓住"@"从键盘输入字符

KeyDown用于实际的键,它与它们的解释无关。例如,请使用PreviewTextInput

private void RichTextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    if (e.Text == "@")
    {
        //...
    }
}

Keydown事件使用键盘按钮。它并不真正了解字符。

尝试使用KeyPress事件代替。相反,此事件返回刚刚按下的键的ASCII字符代码。

private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == '@') MessageBox.Show("The At sign was pressed");
}

注意:非ASCII字符不会触发此事件