Практически все программы для смартфонов работают при помощи команд меню. Поэтому надо получить базовые навыки работы с этим элементом управления. В режиме проектирования формы следует щелкнуть мышью в левой части голубой полоски, которая расположена в нижней части экрана. Эта полоска является элементом меню, которое вызывается нажатием кнопки Soft Key1
Type Here (рис. 9.1).Рис. 9.1
. Создание менюВ этой области нужно ввести слово Привет
Enter. Введенный текст появится в левой части формы, и будет активирована Soft Key 2 с той же надписью Type Here. В этой области нужно ввести слово Закрыть. Теперь можно вводить текст для подменю. Новый пункт меню получит заголовок Выход. Перед словом Выход появится единица. Среда разработки Visual Studio 2005 автоматически вставляет цифры в создаваемое меню. Эти цифры являются номерами кнопок-клавиш телефонов. С помощью этой подсказки пользователь может быстро активировать нужный пункт меню нажатием соответствующей кнопки (рис. 9.2).Рис. 9.2
. Создание подменюТеперь нужно перейти на форму и дважды щелкнуть на пункте созданного меню Выход
menuItem3_Click. Ее код приведен в листинге 9.1private 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