我有磁卡读卡器,当用户刷卡时它会模拟键盘输入。当我的 WPF 窗口处于聚焦状态时,我需要处理键盘输入一个字符串的情况。我可以获得这个键入的键列表,但我不知道如何将它们转换为一个字符串。
private void Window_KeyDown(object sender, KeyEventArgs e)
{
list.Add(e.Key);
}
EDIT:简单的 .ToString() 方法没有帮助。我已经尝试过这个了。
为什么不构建字符串而不是添加到列表中:
private string input;
private bool shiftPressed;
private void Window_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.LeftShift || e.Key == Key.RightShift)
{
shiftPressed = true;
}
else
{
if (e.Key >= Key.D0 && e.Key <= Key.D9)
{
// Number keys pressed so need to so special processing
// also check if shift pressed
}
else
{
input += e.Key.ToString();
}
}
}
private void Window_KeyUp(object sender, KeyEventArgs e)
{
if (e.Key == Key.LeftShift || e.Key == Key.RightShift)
{
shiftPressed = false;
}
}
显然你需要重置input
to string.Empty
当您开始下一笔交易时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)