gpt4 book ai didi

c# - 如何扩展标记的枚举

转载 作者:太空宇宙 更新时间:2023-11-03 17:13:11 25 4
gpt4 key购买 nike

我有这样的组合键

Keys key=Keys.Control | Keys.Shift | Keys.D ...

我不知道如何将键变量扩展为分隔键值。大概是这样

foreach(Keys k in key)
{
MessageBox.Show(k.ToString());
}

我觉得这很愚蠢。如何做到这一点?

最佳答案

参见键的定义。所有值都作为正常的、互斥的值,但以下情况除外:

//     The bitmask to extract a key code from a key value.
KeyCode = 65535,
// The SHIFT modifier key.
Shift = 65536,
// The CTRL modifier key.
Control = 131072,
// The ALT modifier key.
Alt = 262144,

因此,您只需检查 alt、control 和 shift。要获取非移位 key ,请使用

Keys value = key & Keys.KeyCode

查看是否按下了 shift、alt 或 control

bool altValue = key & Keys.Alt
bool controlValue = key & Keys.Control
bool shiftValue = key & Keys.Shift

就这样

关于c# - 如何扩展标记的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/553905/

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