我们应该如何处理 WPF 中的键盘事件?应该是 KeyUp 还是 KeyDown?

Gur*_*ruC 4 forms windows wpf keydown keyup

我一直在使用 WPF 处理所有隧道和冒泡事件,我必须说它们非常强大。
但我总是问自己是使用 [ PreviewKeyUp 和 KeyUp ] 还是 [ PreviewKeyDown 和 Keydown ]?

我应该使用哪种组合来对按键做出反应,为什么?

MyK*_*SKI 5

取决于你想做什么:

  1. PreviewKeyDown = BEFORE the key is press
    示例:如果您在文本框上有事件,则当前按下的键不会添加到 TextBox.Text
  2. PreviewKeyUp = 松开钥匙之前
  3. KeyDown = 按下键后
    示例:如果您在文本框上有事件,则当前按下的键将添加到 TextBox.Text
  4. KeyUp = 松开钥匙后

所以这又取决于你想做什么。如果要添加 TextBox 验证,请使用 PreviewKeyDown 忽略不正确的文本。

如果你想在用户松开 SPACE 时做点什么,那么我们 KeyUp