控制键的ListView KeyUp错误

ListView.KeyDown 事件显示以下内容:

 e KeyData = LButton | ShiftKey | Control base {KeyData = LButton | ShiftKey | Control} Alt false bool Control true bool Handled false bool KeyCode LButton | ShiftKey KeyData LButton | ShiftKey | Control KeyValue 17 Modifiers Shift false bool SuppressKeyPress false bool 

我不喜欢出现但Control键正在显示的事实。 在ListView.KeyUp 事件上显示以下内容:

 - e {KeyData = LButton | ShiftKey} + base {KeyData = LButton | ShiftKey} Alt false bool Control false bool Handled false bool KeyCode LButton | ShiftKey KeyData LButton | ShiftKey KeyValue 17 Modifiers None Shift false bool SuppressKeyPress false 

是什么让它变得奇怪。 查看网络以查看是否存在此错误的任何示例,但无法找到任何内容。 我尝试在主机表单上将KeyPreview设置为true无效。

欢迎任何输入。

这里没有错误,只需按下并释放Ctrl键即可。 调试器不是很好地将Keys枚举转换为字符串。 它被具有[Flags]属性的枚举所扰乱,因此它尝试将值中的各个位映射到Key。

所以KeyDown =(Keys.Control | Keys.ControlKey)= 0x20011。 哪个调试器崩溃了
0x20000 =控制
0x00010 = ShiftKey
0x00001 = LButton。

并且Keyup =(Keys.ControlKey)= 0x00011。 哪个调试器崩溃了
0x00010 = ShiftKey
0x00001 = LButton。

或者换句话说,忽略调试器告诉你的内容。