Я сделал клавиатуру в Windows.Forms с множеством кнопок, и их содержимое - это разные символы алфавита, как настоящая клавиатура.
Теперь проблема в том, что когда я использую клавиатуру в 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, что я мог бы попробовать?
Process.Start("osk.exe")
. Он работает отлично каждый раз, нет необходимости вSendKeys
. - person Cody Gray   schedule 11.01.2012