使用WPF中文本框的KeyDown事件捕获Ctrl-X

当用户使用KeyDown事件按下ctrl -x时,我试图触发一个事件。 这适用于ctrlD但是当按下ctrlx时不会触发事件。 我猜这是因为ctrlx是“cut”命令。 当按下ctrlX时有没有办法触发事件?

 private void textBox_KeyDown(object sender, KeyEventArgs e) { if (e.KeyboardDevice.IsKeyDown(Key.LeftCtrl) || e.KeyboardDevice.IsKeyDown(Key.RightCtrl)) { switch (e.Key) { case Key.D: //handle D key break; case Key.X: //handle X key break; } } } 

您可以覆盖现有的剪切命令:

      

您需要创建一个命令 。

要在wpf中这样做,我试试这个:

 private void HandleKeyDownEvent(object sender, KeyEventArgs e) { if (e.Key == Key.X && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control) { MessageBox.Show("You press Ctrl+X :)"); } } 

尝试在keydown事件中关注

  if (e.Control == true && e.KeyCode==keys.x) { e.Handled = true; textBox1.SelectionLength = 0; //Call your method }