我在Windows.Forms中制作了一个带有许多按钮的键盘,并且它们的内容是字母表的不同字符,就像真正的键盘一样。Sendkeys发送no或多个字符串
现在的问题是,当我在Windows 7中使用键盘时,一切正常。但是当我在Windows XP的触摸屏上使用键盘时,键盘会多次写入我刚才按下的按钮的内容,或者不会在文本框内写入任何内容。
下面是一些示例代码:
Button temp = sender as Button;
SendKeys.SendWait(temp.Text);
我试图SendKeys.Flush和
<appSettings>
<add key="SendKeys" value="SendInput"/>
</appSettings>
在app.config
是这里msdn解决方案内。但它没有解决问题。
我在做什么错?
编辑:现在我发现第一个字母总是完美的。之后,一切都变得糟糕透顶。除了SendKeys.Flush,还有别的可以尝试的吗?
啊,浪费很多精力。 Windows已经提供了一个屏幕键盘应用程序。所有你需要的是'Process.Start(“osk.exe”)'。它每次都能很好地工作,不需要'SendKeys'。 – 2012-01-11 08:07:45
嗨科迪格雷,谢谢你的回复。来自Windows XP的osk对于我的触摸屏来说太小了。你不能改变它的大小。 – 2012-01-11 08:09:27
您是否验证了按键点击事件在触摸设备上按预期发生? – 2012-01-11 19:33:51