我尝试当用户按下textBox中的键时,textBox将显示用户按下的键,这样我就可以将其保存为变量并在其他地方使用。
现在我有了这个,这个有效
private void textBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
if(e.Key == Key.A)
{
textBox.Text = "A";
}
}
但它仅限于A键有没有办法让它成为任何键?
答案 0 :(得分:0)
您可以将KeyEventArgs e.KeyCode转换为char。
private void textBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
Char ch = (Char)e.KeyCode;
textBox.Text = ch.ToString();
}
编辑:忘了这是WPF,它不支持KeyEventArgs.KeyCode
private void textBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
textBox.Text = e.Key.ToString();
}
这将为您提供诸如CapsLock和Shift等之类的东西,但是,在 如果是字母数字键,它就无法告诉你状态 当时的转移等等,所以你必须自己解决这个问题。
第二种方法是改用TextInput事件,其中 e.Text将包含输入的实际文本。这会给你的 字母数字键的正确字符,但它不会让你控制 字符。