Как автоматически изменить размер приложения Windows Mobile при появлении клавиатуры? - PullRequest
1 голос
/ 15 февраля 2010

Я смотрю на разработку Windows Mobile, но есть одна вещь, которую я еще не совсем понял. Во всех приложениях, уже установленных на устройстве (Internet Explorer, окна конфигурации и т. Д.), Когда появляется экранная (программная?) Клавиатура, пользовательский интерфейс автоматически изменяет размеры, чтобы клавиатура не закрывала и не закрывала пользовательский интерфейс (и при необходимости это добавляет полосы прокрутки).

Однако, когда я просто добавляю текстовое поле в форму Windows Mobile где-то внизу и проверяю его, оно не изменяется автоматически. Клавиатура закрывает текстовое поле, и я больше не вижу, что набираю.

Есть ли способ сделать это автоматически, или я должен сделать это сам, используя элемент управления InputPanel и прослушивая его событие?

Кстати, это все .NET (компактный фреймворк), C # и Windows Mobile Professional 6.1.

Ответы [ 2 ]

2 голосов
/ 15 февраля 2010

Используйте компонент InputPanel. Он содержит событие EnabledChanged. Просто обработайте событие и измените размер / скрыть / показать ваши элементы управления. :)

Пример кода можно найти по адресу MSDN .

1 голос
/ 15 февраля 2010

Вам необходимо установить свойство Anchor для элемента управления соответственно. Размер формы будет автоматически изменен, потому что это полноэкранный режим, но если вы не скажете, что ваш элемент управления привязан к нижней части, он не будет перемещаться, но будет «вне» формы.

Пример: у вас есть «заполнить область клиента» ListView и две кнопки под ней ListView. Чтобы ListView отрегулировал его размер и переместил кнопки в соответствии с новой высотой, установите свойство привязки ListView на «Вверх, влево, внизу, вправо», а свойство привязки кнопок на «Нижний, левый». и "Низ, Право". Таким образом, вы также учитываете поворот экрана в том, что элементы управления изменяют размер / перемещаются правильно.

Вам придется прослушивать события InputPanel только в том случае, если вы хотите полностью реструктурировать макет, когда SIP отображается / скрывается.

...