我正在开发一个使用C#的软件,我需要它在特定窗体打开时捕获所有键盘输入。当特定窗体打开时捕获所有键盘输入
我有一个读卡器,可以捕获信息作为键盘。 我会打开一个弹出窗口告诉用户通过卡,然后我需要捕获输入,并检查我的数据库,如果这是一个有效的卡。
当表单处于焦点时,我无法找到捕获键盘输入的方法。
有谁知道该怎么做?
我正在开发一个使用C#的软件,我需要它在特定窗体打开时捕获所有键盘输入。当特定窗体打开时捕获所有键盘输入
我有一个读卡器,可以捕获信息作为键盘。 我会打开一个弹出窗口告诉用户通过卡,然后我需要捕获输入,并检查我的数据库,如果这是一个有效的卡。
当表单处于焦点时,我无法找到捕获键盘输入的方法。
有谁知道该怎么做?
表单包含一个名为“KeyPress”的事件,该事件可用于您正在尝试执行的操作。单击属性中的小闪电图标查看您的事件,双击“KeyPress”连接方法。
如果你期待一个以上的按键(换句话说,如果你想要,表示卡数数的长字符串),您将需要输入一个字符存储在这样的时刻:
// add a field to capture the input
string allInput = "";
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
allInput += e.KeyChar; // adds the last character pressed to the string
}
请注意,如果您的注意力集中在文本框之类的东西上,那么文本框将接收到KeyPress事件而不是表单。如果只有少数几个,则可以将相同的KeyPress事件处理程序添加到表单中的每个控件。否则,你正在寻找像全球钥匙扣这样的东西,这更复杂。
非常感谢!有效! 对不起,这个白痴的问题,但我从来没有与C#之前 –
很高兴它帮助!如果你发现代码有用,一个接受的答案将不胜感激。 –
我试图接受它,但由于我刚刚创建了我的帐户,似乎我没有足够的信誉来评价它! –
你好,欢迎来到Stack Overflow!当询问有关由您的代码引起的问题的问题时,如果您提供可用于重现问题的代码,您将得到更好的答案。请参阅https://stackoverflow.com/help/mcve以帮助您创建最小,完整和可验证示例。 – Baddack
只是出于好奇,你是如何寻找一种方法来捕获键盘输入,你没有找到任何答案?搜索这个网站变成了几个... https://stackoverflow.com/search?q =捕获+键盘+输入。 –