gpt4 book ai didi

c# - 在 C# 中检测多个同时按键

转载 作者:行者123 更新时间:2023-11-30 19:51:09 28 4
gpt4 key购买 nike

我希望通过检测无法输入的某些键组合(转义序列)的按键来模拟 C# 中串行通信的 super 终端功能,例如 Ctrl+C、Ctrl+Z 等。我知道这些键有它们的 ASCII 等价物,可以这样传输。但是我面临着检测多个按键的问题。我的一些代码作为引用提供:

private void Transmitted_KeyDown(object sender, KeyEventArgs e)
{


if (e.Modifiers == Keys.Control || e.Modifiers== Keys.Shift || e.Modifiers==Keys.Alt)
{
var test = (char)e.KeyValue; // Only able to detect a single keypress!


ComPort.Write(test.ToString());

}
}

最佳答案

如果您要查找常规键,则可以将它们存储在列表中:在 KeyDown 上,将键添加到列表中。在 Key Up 上,将其从列表中删除。在 KeyDown 上,检查列表中的内容。

但是,我不确定修饰键(如 ctrl、shift、alt)是否存在 keydown/keyup 事件。对于那些你可以做这样的事情:

bool CtrlDown = ((e.Modifiers & Keys.Control) > 0);
bool CtrlOnlyModifierDown = ((e.ModifierKeys & Keys.Control) == Keys.Control)

关于c# - 在 C# 中检测多个同时按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1544538/

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