gpt4 book ai didi

C# - 避免按钮按下/垃圾邮件时的延迟

转载 作者:行者123 更新时间:2023-11-30 23:33:41 25 4
gpt4 key购买 nike

如果我按下键盘键,key_Down 事件被触发一次,然后有一秒钟的延迟,然后它开始发送垃圾邮件,我该如何避免这种情况?
我正在使用 C# WinForms,这将是我的代码:

private void key_Down(object sender, KeyEventArgs e)
{
if (e.KeyCode == Key.A)
{
// Do Stuff
}
}

最佳答案

仅响应事件一次,然后通过标志阻止处理程序“做事”,直到收到 keyup。 keyup 事件将重置标志。

所以:

bool isAKeyDown = false;
private void key_Down(object sender, KeyEventArgs e)
{
if (e.KeyCode == Key.A && !isAKeyDown )
{
isAKeyDown = true;
// Do Stuff
}
}
private void key_Up(object sender, KeyEventArgs e)
{
if (e.KeyCode == Key.A)
{
isAKeyDown = false;
}
}

这显然只处理一个键。您可能会选择保留一堆标志(可能在字典中)来标记许多键的状态。

因为处理程序是在 UI 线程上调用的,所以您无需担心对处理程序中引用的变量的同步访问。

关于C# - 避免按钮按下/垃圾邮件时的延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33827395/

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