我试图在wpf文本框控件中使用事件keyDown
事件并使用e.Key
捕获单击的键,但是由于at“@”字符没有键,我可以'抓住它。如何检测单击“@”键
private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
{
if(e.Key == Key.) // nothing corresponding the at key
}
答案 0 :(得分:3)
KeyDown
用于实际密钥,它与自己的解释无关。例如,请使用PreviewTextInput
。
private void RichTextBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
if (e.Text == "@")
{
//...
}
}
答案 1 :(得分:0)
Keydown事件使用键盘按钮。它对人物一无所知。
尝试使用KeyPress事件。相反,此事件返回刚按下的键的ASCII字符代码。
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == '@') MessageBox.Show("The At sign was pressed");
}
注意:非ASCII字符不会触发此事件。