C#.NET或法拉盛键盘缓冲区 [英] C# or .NET Flushing Keyboard Buffer

查看:119
本文介绍了C#.NET或法拉盛键盘缓冲区的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何使用刷新Windows窗体在C#中的键盘缓冲区?

How do I flush the keyboard buffer in C# using Windows Forms?

我有一个条形码扫描仪,其作用就像一个键盘。如果一个很长的条形码扫描和取消按钮被击中的形式,我需要清除键盘缓冲区。所以,我需要刷新和忽略所有挂起的输入。我需要清理,因为如果条形码包含空格,空格处理按钮点击这是不必要的缓冲。

I have a barcode scanner which acts like a keyboard. If a really long barcode is scanned and the cancel button is hit on the form, I need the keyboard buffer to be cleared. So I need to flush and ignore all pending input. I need the buffer cleared because if the barcode contains spaces, the spaces are processed as button clicks which is unecessary.

推荐答案

我不能确定你可以做到这一点。该按键进入的主要事件循环事件队列。你需要取消这些按键的任何行动将在按键后,被放置在队列中。

I'm not sure you can do this. The keystrokes go into the event queue for the main event loop. Any action you take to cancel these keystrokes will be placed in the queue after the keystrokes.

击键都被处理后,事件循环只会让你取消行动。可以仅取消基于某些事件中发生的键击序列的中间的键击。

The event loop will only get to your cancel action after the keystrokes have been processed. You can only cancel the keystrokes based on some event that happens in the middle of the keystroke sequence.

这篇关于C#.NET或法拉盛键盘缓冲区的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆