WPF按键不输入,代码执行KeyDown事件
键盘单击Delete,删除数据,不用键盘输入代码实现
/// <summary>
/// 文本快捷键调用事件
/// </summary>
/// <param name="key">按键值</param>
/// <param name="control1">发生的控件</param>
private void TextKeyDown(Key key, Control control1)
{
control1.RaiseEvent(
new KeyEventArgs(Keyboard.PrimaryDevice, PresentationSource.FromVisual(control1), 0, key) { RoutedEvent = Keyboard.KeyDownEvent }
);
}
//调用
Key key = Key.Delete;
TextKeyDown(key, textBox1);
组合键Ctrl+X使用SendKeys.SendWait
//发送 Ctrl + X 键
System.Windows.Forms.SendKeys.SendWait(“^x”);
//发送 Alt + A 键
System.Windows.Forms.SendKeys.SendWait(“%a”);
//发送 Alt + F4 键
System.Windows.Forms.SendKeys.SendWait(“%{F4}”);
//发送F5按键
SendKeys.SendWait(“{F5}”);
为了指定重复键,使用 {key number} 的形式。必须在 key 与 number 之间放置一个空格。例如,{LEFT 42} 意指 42 次按下
LEFT ARROW 键;{h 10} 则是指 10 次按下 H 键。
键参考链接:https://www.cnblogs.com/AaronYang/archive/2012/05/12/2497653.html
要指定在按一些键时应同时按住 Shift、Ctrl 和 Alt 键的任意组合,请将这些键的代码放在括号内。例如,要指定按 E 和 C 时同时按住 Shift 键,请使用“+(EC)”。要指定按 E 时应按住 Shift,之后按 C 时不按住 Shift,请使用“+EC”。
要指定重复键,请使用格式 {key number}。键和数字之间必须放一空格。例如,{LEFT 42} 表示按向左键 42 次;{h 10} 表示按 H 10 次。