KeyDown:仅检测控制键还是用作修饰符的控制键

时间:2019-04-04 11:22:49

标签: vb.net winforms

用户将在datagridview中键入他想分配给几个操作的快捷方式。当单元格处于编辑模式时,我尝试使用KeyDown事件。

但是,我希望我的控件能够在同一事件处理程序中检测单独键入的Control键或用作修饰符的Control键(与Shift和Alt相同)。 这引起了一个问题,因为当Control处于关闭状态时,KeyDown会启动,而与之组合的另一个键也处于关闭状态。显然,事件处理程序不知道用户是否打算在Control键之后按下另一个键。

现在我通过使用KeyUp解决了此问题,但是这引起了其他麻烦,例如,当用户在CTRL + P中键入内容时,释放P,这会触发正确的事件,但随后用户释放Ctrl,这会触发一个新的KeyUp事件我必须找到一种忽略的方式。

必须有一种更清洁的方式来处理此问题吗?

0 个答案:

没有答案