我们公司有个测试人员给我提了一个有趣的bug,有一个快捷键ctrl+1,但是他用了另一种方法触发了它.
他在一个textBox里面随便输入了一串文本,然后选中这串文本后按下"1",神奇的事情发生了,竟然触发到了ctrl+1的快捷键(在我的程序里ctrl+1是换屏,就是瞬间换到了1屏).
作为一个程序员大家可能都能猜到原因,需要的就是测试~!
新建了一个wpf程序注册键盘按下事件
public MainWindow() { InitializeComponent(); this.KeyDown += new KeyEventHandler(MainWindow_KeyDown); } void MainWindow_KeyDown(object sender, KeyEventArgs e) { ModifierKeys keys = Keyboard.Modifiers;//声明功能键 if (keys == ModifierKeys.Control) { MessageBox.Show("按下control"); } }
界面放一个文本框,代码就不需要了吧- -
测试:
1)文本框里随便输入文本,
2)选择文本,
结果:
弹出"按下control"消息框.
至于什么原因我也不知道,我的回复是这是微软的bug,我解决不了,然后这个bug就延期了(本来这个bug也没有什么实质性意义);
但是还是想知道为什么?