gpt4 book ai didi

c# - 如何打印按下了哪些键?

转载 作者:行者123 更新时间:2023-11-30 17:55:38 24 4
gpt4 key购买 nike

大多数使用热键的程序都允许用户查看实际按下了哪些键,但我不确定它是如何实现的。作为引用,请参阅以下捕获按钮组合的随机程序的屏幕截图:

enter image description here

我怎样才能实现这样的东西?我正在读取的事件类型为 System.Windows.Forms.KeyEventArgs。有许多键没有对其实际值的描述,还有一些键值不准确。除了找出每个键的代码并手动显示它们之外,没有其他解决方案吗?

编辑:为澄清起见,我想获得一个用户友好的字符串表示形式,如上图所示,按下的键。

最佳答案

该事件具有 AltControlShift 的 bool 属性。

KeyCode 的类型是 System.Windows.Forms.Keys .它有一个 [Flags] 属性,但只对 AltControlShift 有效。所有其他键都有一个常规值。

private void showKeys(object sender, KeyEventArgs e)
{
List<string> keys = new List<string>();

if (e.Control == true)
{
keys.Add("CTRL");
}

if (e.Alt == true)
{
keys.Add("ALT");
}

if (e.Shift == true)
{
keys.Add("SHIFT");
}

switch (e.KeyCode)
{
case Keys.ControlKey:
case Keys.Alt:
case Keys.ShiftKey:
case Keys.Menu:
break;
default:
keys.Add(e.KeyCode.ToString()
.Replace("Oem", string.Empty)
);
break;
}

e.Handled = true;

textBox1.Text = string.Join(" + ", keys);
}

关于c# - 如何打印按下了哪些键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14848187/

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