Я разработал приложение Windows Forms, которое используется на сенсорном компьютере. Можно ли отображать клавиатуру, когда пользователь нажимает на поле ввода (текстовое поле)? И как я могу это сделать?Клавиатура на экране в WinForms
ответ
Вы в курсе Windows, имеет на экранной клавиатуре?
В Windows 7 все программы> Accesseries> Ease Of Access> On Screen Keyboard.
Вы можете написать свое собственное, если хотите, но я использую Windows каждый раз, когда мне не хочется подбирать клавиатуру.
Вы можете создать ярлык к нему:
Расположение% WINDIR% \ system32 \ osk.exe
Так, чтобы запустить его, в случае TextBox_Click (или что-то событие, которое вы хотите, чтобы огонь)
// Должен работать, я его не тестировал. System.Diagnostics.Process.Start ("c: \ Windows \ System32 \ osk.exe");
Просто обновление: на моей машине на работе у меня возникла ошибка при попытке запустить этот код (я построил его как тест), и мне пришлось скопировать osk.exe в другой каталог, а затем запустить его, и он сработал.
/// <summary>
/// Test to show launching on screen board (osk.exe).
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void textBox1_Click(object sender, EventArgs e)
{
try
{
Process.Start(@"c:\Temp\OSK.exe");
}
catch (Exception error)
{
string err = error.ToString();
}
}
И этот код работал.
Я бы сказал, что это может быть немного подвержен ошибкам, чтобы использовать встроенный Windows On-Screen Keyboard, так как позволяет пользователю отправлять все виды нажатий клавиш, которые могут быть не такими, какие предназначены для приложения. В этом случае пользовательская экранная клавиатура будет более безопасной. – markj
Я думаю, что вы должны создать новую форму ccreate клавиатуры и запустить эту форму в текстовом поле нажмите
Ваш пример показывает ошибку для меня:
"Не удалось запустить экранную клавиатуру"
Я нашел этот код, который прекрасно работают без каких-либо ошибок:
static void StartOSK()
{
string windir = Environment.GetEnvironmentVariable("WINDIR");
string osk = null;
if (osk == null)
{
osk = Path.Combine(Path.Combine(windir, "sysnative"), "osk.exe");
if (!File.Exists(osk))
osk = null;
}
if (osk == null)
{
osk = Path.Combine(Path.Combine(windir, "system32"), "osk.exe");
if (!File.Exists(osk))
{
osk = null;
}
}
if (osk == null)
osk = "osk.exe";
Process.Start(osk);
}
думаю можно использовать. System.Diagnostics.process.start
System.Diagnostics.Process.Start("osk.exe");
- 1. Открытие winforms на одном экране
- 2. Opennign клавиатура на экране на TextBox Фокус
- 3. виртуальная клавиатура появляется на экране блокировки приложения
- 4. Обнаружить, если на экране открыта клавиатура
- 5. клавиатура режет поле ввода на маленьком экране
- 6. Клавиатура всегда должна отображаться на экране
- 7. .NET/WinForms: максимизируйте окно на определенном экране
- 8. Клавиатура-проблемы с WPF UserControl внутри WinForms
- 9. Автоматическая всплывающая клавиатура с сенсорным экраном на вкладке ввода WinForms
- 10. Измените css, когда клавиатура всплывает на экране телефона
- 11. Сделать TextView не двигаться, когда клавиатура находится на экране
- 12. Набор клавиатуры на экране
- 13. Показать клавиатуру на экране
- 14. сенсорная клавиатура
- 15. Как сделать клавиатуру сверху на экране
- 16. Android: Как скрыть мягкую клавиатуру на экране?
- 17. Мышь и клавиатура заблокированы в течение некоторого времени на экране входа в систему
- 18. Клавиатурные Winforms на Windows 10 (поверхность)
- 19. Текст на экране Android на экране
- 20. Перемещение System.Drawing.Rectangle в другую область на экране
- 21. прокрутки к определенному текстовому полю в Scrollview/Scrollview остановки прокрутки, когда клавиатура на экране
- 22. Цифровая клавиатура на MonoTouch
- 23. Пользовательская клавиатура на iPhone
- 24. Строка состояния всегда на экране
- 25. Черная клавиатура на iOS7
- 26. мягкая клавиатура на Android
- 27. Android-клавиатура на удержании
- 28. Как скрыть клавиатуру на экране прокрутки Фон?
- 29. Android: Исправить мягкую клавиатуру ввода на экране
- 30. Как настроить клавиатуру всегда отображаться на экране?
http://stackoverflow.com/questions/956879/net-winform-keyboard-control –