Изменение раскладки клавиатуры в Windows Mobile - PullRequest
1 голос
/ 13 ноября 2008

В приложении есть диалог, в котором допустимы только числовые строковые записи. Поэтому я хотел бы установить раскладку цифровой клавиатуры.

Кто-нибудь знает, как смоделировать нажатие клавиши на клавиатуре или каким-либо другим способом изменить раскладку клавиатуры?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 14 ноября 2008

Вам не нужно.

Так же, как и в полноэкранных режимах, вы можете установить элемент управления для редактирования только для числового ввода. Вы можете сделать это вручную или в диалоговом редакторе в свойствах для элемента управления редактирования.

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

0 голосов
/ 14 ноября 2008

Есть только один способ сделать это (редактировать: это относится к SIP в Windows Mobile, не предназначенном для смартфонов, поэтому я не уверен, что это актуально для вашего вопроса), и это включает в себя симуляцию щелчка мыши 123 кнопка. Однако это только половина проблемы, поскольку вам также необходимо знать, находится ли клавиатура в числовом режиме или нет. Это можно сделать, посмотрев пиксель в верхнем левом углу клавиатуры - если вы посмотрите, как работает кнопка 123, вы увидите, что это системный текст на фоне окон, а затем инвертирован в числовом режиме (так что пиксель будет системным цветом текста только в числовом режиме). Вам нужно сделать еще одну странность, чтобы гарантировать, что она будет работать на всех устройствах (вы также должны нарисовать пиксель на клавиатуре).

К счастью для вас, у меня есть простой в использовании пример кода, который делает все это. Вам не повезло, это в C #, но я думаю, что оно должно, по крайней мере, указать вам правильное направление.

0 голосов
/ 13 ноября 2008

Вы можете использовать InputModeEditor:

InputModeEditor.SetInputMode(textBox1,InputMode.Numeric);
...