Как изменить экранную клавиатуру с помощью С#

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

Я работаю над сенсорным приложением. Поскольку приложение не должно выглядеть как обычное приложение Windows, я использовал WPF и снабдил большинство своих элементов управления специальными стилями.

Однако я хотел использовать собственную экранную клавиатуру вместо osk или tabtip.exe, предоставляемых Windows, потому что я хотел иметь возможность изменить несколько вещей.

Проблема в том, что если я коснусь, например, текстового поля, прямо в текстовом поле появится маленькая кнопка, которая откроет экранную клавиатуру (конечно, из окон). Я не хочу такого поведения. Есть ли способ отключить эту кнопку или изменить код, чтобы эта кнопка открывала мою собственную клавиатуру вместо osk/tabtip? Любая помощь приветствуется.

Привет, Стефан


person StefanG    schedule 26.08.2013    source источник


Ответы (1)


Чтобы отключить это поведение:

В параметрах встроенной клавиатуры Windows снимите флажок «Использовать вкладку панели ввода».

Чтобы использовать собственную клавиатуру:

Вам нужно будет разработать свой собственный, а затем обрабатывать события Enter/Leave в текстовых элементах управления вашего основного приложения, а затем соответственно отображать/скрывать клавиатуру. Убедитесь, что вы не отвлекаете внимание от своего приложения при нажатии клавиш на пользовательской клавиатуре.

person Nick    schedule 26.08.2013