gpt4 book ai didi

c# - 控制键的 ListView KeyUp 错误

转载 作者:太空宇宙 更新时间:2023-11-03 21:40:55 24 4
gpt4 key购买 nike

ListView.KeyDown <Ctrl>事件显示如下:

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

我不喜欢 <ShiftKey>正在出现,但控制键正在出现。在 ListView.KeyUp 上 <Ctrl>事件显示如下:

-       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] 属性的枚举感到困惑,因此它尝试将值中的各个位映射到键。

因此 KeyDown = (Keys.Control | Keys.ControlKey) = 0x20011。调试器破坏
0x20000 = 控制
0x00010 = 换档键
0x00001 = L 按钮。

并且 Keyup = (Keys.ControlKey) = 0x00011。调试器破坏
0x00010 = 换档键
0x00001 = L 按钮。

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

关于c# - 控制键的 ListView KeyUp 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19323579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com