получить базовые навыки работы с этим элементом управления. В режиме проектирования формы следует щелкнуть мышью в левой части голубой полоски, которая расположена в нижней части экрана. Эта полоска является элементом меню, которое вызывается нажатием кнопки Soft Key1
, находящейся под экраном. На форме появится текст Type Here
(рис. 9.1).
Рис. 9.1. Создание меню
В этой области нужно ввести слово Привет
и нажать клавишу Enter
. Введенный текст появится в левой части формы, и будет активирована Soft Key 2
с той же надписью Type Here
. В этой области нужно ввести слово Закрыть
. Теперь можно вводить текст для подменю. Новый пункт меню получит заголовок Выход
. Перед словом Выход
появится единица. Среда разработки Visual Studio 2005 автоматически вставляет цифры в создаваемое меню. Эти цифры являются номерами кнопок-клавиш телефонов. С помощью этой подсказки пользователь может быстро активировать нужный пункт меню нажатием соответствующей кнопки (рис. 9.2).
Рис. 9.2. Создание подменю
Теперь нужно перейти на форму и дважды щелкнуть на пункте созданного меню Выход
. В результате будет открыт редактор кода с заготовкой функции menuItem3_Click
. Ее код приведен в листинге 9.1
private void menuItem3_Click(object sender, EventArgs e) {
this.Close();
}
После запуска приложения следует нажать правую серую кнопку под экраном. При этом будет активирована правая часть меню и появится пункт 1 Выход
. Для выполнения этой команды можно нажать клавишу 1
или большую кнопку в центре телефона, которая выполняет функцию клавиши подтверждения. Если все было сделано правильно, то приложение закроется. Итак, только что мы создали приложение для смартфона, добавили в него меню, запустили приложение и закрыли его.
В отношении меню приложения для смартфонов установлено специальное правило. Клавиша Left Softkey
может иметь только один пункт меню, а клавиша Right Softkey
может иметь разветвленное меню. Любопытно отметить, что при попытке создания подменю для левой клавиши предыдущая версия среды разработки Visual Studio 2003 выводила ошибку. Теперь такой ошибки не выводится, и, теоретически, ничто не мешает нарушить установившуюся традицию. Например, при использовании примеров для смартфонов под управлением Windows Mobile 5.0 программист может создавать вложенные меню для левой кнопки.
Элементы управления
Так как пользователь лишен возможности пользоваться стилусом, то многие элементы управления смартфонами не поддерживаются.
В этом легко убедиться, достаточно лишь взглянуть на панель инструментов проекта для смарфтонов, чтобы увидеть, как резко уменьшилось число поддерживаемых объектов.
Поначалу количество не поддерживаемых элементов управления приводит в замешательство. Как же писать приложения, если смартфон не поддерживает такой распространенный элемент, как кнопка? Так как в смартфонах не используется стилус, то применение кнопок просто бессмысленно. Управление объектами в приложениях для смартфонов осуществляется при помощи реальных кнопок-клавиш.
Кроме стандартных кнопок с цифрами у смартфона имеются еще так называемые softkey-клавиши. Это две дополнительные кнопки под экраном, которые выполняют очень важные функции в приложениях. Именно с помощью этих кнопок осуществляется работа с меню.
Также надо помнить, что внешний вид элементов управления зачастую отличается от вида аналогичных элементов на КПК. Возьмем, к примеру, текстовое поле. Текстовое поле TextBox
в смартфонах не имеет окантовки. Она появляется только в том случае, когда текстовое поле получает фокус. В этом нетрудно убедиться на простом примере.
Следует добавить на форму два текстовых поля. Одно из них автоматически получит фокус при загрузке приложения (рис. 9.3). Если с помощью клавиши навигации перейти на второе поле, то оно получит окантовку, а у первого поля, соответственно, окантовка пропадет.
Рис. 9.3. Окантовка у первого текстового поля, имеющего фокус
Чтобы не путать текстовые поля с элементами Label
, в надписях используют более жирный текст. На форме надо расположить два элемента Label
. На рис. 9.4 видно, что строки label1
и label2
выделяются более жирным начертанием текста. На этом различия не заканчиваются.
Рис. 9.4. Различия внешнего вида некоторых элементов управления
Стоит расположить на форме еще одно текстовое поле и для его свойства Multiline
указать значение True
. В поле надо ввести какой-нибудь длинный текст. После запуска проекта будет видно, что текстовое поле не в состоянии уместить весь текст, а показывает только несколько первых слов с завершающим маленьким треугольником.
Если установить фокус ввода на этом текстовом поле и нажать кнопку Enter
, то текст полностью будет показан в новом окне (рис. 9.5).
Рис. 9.5. Полный текст в текстовом поле
Пользователь может самостоятельно дописать слова песни в новом окне и выбрать команду Done
или отказаться от подтверждения ввода с помощью команды Cancel
.
То же самое касается и элемента ComboBox
. Данный элемент получает окантовку при получении фокуса и отображает уже два треугольника. Чтобы раскрыть список элементов, хранящихся в комбинированном окне, необходимо сначала установить фокус и нажать на кнопку Enter
. При этом будет открыто новое окно, в котором с помощью клавиш навигации пользователь может выбрать необходимый элемент и выполнить команду меню Done
.
Существует также альтернативный способ выбора элемента из ComboBox
. Для этого нужно опять установить фокус на комбинированном окне и прокручивать имеющиеся записи при помощи кнопок навигации Влево
или Вправо
.
Режимы ввода
Первые модели сотовых телефонов для отправки сообщений имели только один режима ввода. Пользователь нажимал на кнопки телефона в определенном порядке, вводя тот или иной символ. Затем появились другие режимы. В частности, сейчас поддерживается числовой режим, так называемый режим T9