使用WPF中文本框的KeyDown事件捕获Ctrl-X
当用户使用KeyDown
事件按下ctrl -x时,我试图触发一个事件。 这适用于ctrl – D但是当按下ctrl – x时不会触发事件。 我猜这是因为ctrl – x是“cut”命令。 当按下ctrl – X时有没有办法触发事件?
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 }