2016-01-19 2 views
0

У меня есть приложение WinForms, работающее на Surface Pro с Windows 10 в режиме Tablet. Никакой физической клавиатуры не прилагается.Клавиатурные Winforms на Windows 10 (поверхность)

Я запускаю свое приложение, и когда я нажимаю TextBox, сенсорная клавиатура не появляется. (Это простой элемент управления Windows.Forms.TextBox). С моим настраиваемым элементом управления, который наследуется от TextBox, он не работает.

Когда я «нажимаю» в ComboBox, сенсорная клавиатура выходит на передний план. Он также появляется, когда я нажимаю свой собственный ComboBox, который наследуется от Windows.Forms.ComboBox.

Когда я нажимаю на TextBox после того, как я нажал на ComboBox, открытая сенсорная клавиатура закрывается.

Как я могу решить свою проблему? есть ли команда C#, которую я могу добавить в элемент управления, чтобы заставить появление сенсорной клавиатуры?

Я уже изменил настройку «Показывать сенсорную клавиатуру или панель рукописного ввода, если не в режиме планшета, а клавиатура не подключена» к «Вкл.», Потому что я прочитал ее в другом потоке, но ничего не изменилось.

Благодарим за помощь.

ответ

0

Я хотел бы предложить следующий код в обработчик события:

var progFiles = @"C:\Program Files\Common Files\Microsoft Shared\ink"; 
var keyboardPath = Path.Combine(progFiles, "TabTip.exe"); 

this.keyboardProc = Process.Start(keyboardPath); 

Что мы делаем там, вручную запуск сенсорной клавиатуры.

Это должно сработать, однако у вас может возникнуть проблема с автоматическим отключением клавиатуры после того, как текстовое поле потеряло фокус.

Кстати, вы проверили, включен ли следующий параметр?

enter image description here

+0

я собираюсь попробовать свои решения. + Опция, о которой вы упомянули, включена. – dertrautmann

+0

@dertrautmann Отлично, дайте мне знать, как это происходит. Если он по какой-то причине не работает, я могу больше исследовать и изменить ответ. – Alex

+0

@Alex, пожалуйста, скажите мне, почему у меня нет опции, которую вы выделили внутри красного прямоугольника? Я только что закончил установку последнего обновления, и я не вижу этот вариант. Вместо этого у меня есть «Показывать сенсорную клавиатуру или панель рукописного ввода, если не в режиме планшета, и нет клавиатуры» – ToniAz

Смежные вопросы