Листинг 2.2
private void menuItem1_Click(object sender, EventArgs e) {
lblHello.Text = "Здравствуй, мир!";
}
После запуска программы можно заметить, что созданный пункт меню располагается в нижней части экрана, в отличие от настольных приложений, в которых меню располагается в верхней части окна (рис. 2.6).
Рис. 2.6. Меню в нижней части окна
Следует отметить, что меню в приложениях для Pocket PC располагается не на форме, а на панели задач. Также на панели задач находится значок виртуальной клавиатуры SIP для ввода информации. Когда пользователь запускает приложение, то его меню появляется на панели задач. Но если удалить меню из формы, то при запуске программы панель задач вообще не будет отображаться (рис. 2.7).
Рис. 2.7. Экран без панели задач
В этой главе уже упоминалась виртуальная клавиатура. Большинство карманных компьютеров не имеют встроенных клавиатур для ввода информации. Вместо клавиатуры в этом случае используется специальная панель ввода SIP (Software Input Panel), которая позволяет вводить текст (рис. 2.8).
Рис. 2.8. Активированная панель ввода SIP
Для работы с виртуальной клавиатурой в .NET Compact Framework используется класс InputPanel
. Так как панель ввода находится на панели задач, то необходимо, чтобы панель задач была видимой. А ранее уже говорилось что, если форма не имеет меню, то панель задач будет невидима. В результате при попытке создания экземпляра класса InputPanel
на форме, не имеющей меню, будет отображено сообщение об ошибке.
Подавляющее число пользователей настольной версии Windows пользуются мышью. В карманных компьютерах роль мыши выполняет стержень из пластика, называемый стилусом. Конечно, у стилуса нет правой кнопки для вызова контекстного меню. У него вообще кнопок нет.
Вместо кнопок в карманных компьютерах применяется технология Tap-and-Hold. Для выделения элемента управления пользователь должен точно попасть в него кончиком стилуса. По аналогии с мышью, можно легко щелкнуть по экрану (Click), а можно нажать на экран и удерживать стилус на месте (Press).
Глава 3
Элементы управления
Несмотря на свою схожесть, .NET Compact Framework уступает в функциональности базовой библиотеке .NET Framework. Это относится и к элементам управления. К счастью, кнопки, списки и текстовые поля все же присутствуют в мобильной версии. Кроме того, в .NET Compact Framework 2.0 была добавлена поддержка еще нескольких элементов управления, которые отсутствовали в NET Compact Framework 1.0.
Рис. 3.1. Свойства, поддерживаемые в .NET Compact Framework
Нужно помнить, что даже поддерживаемые элементы управления имеют порой ограниченные возможности. Чтобы узнать, какие свойства, методы или события не поддерживаются элементом управления, нужно запустить справочную систему, найти нужный класс и просмотреть все члены класса. Если нужное свойство поддерживается в .NET Compact Framework, то у его описания будет присутствовать значок мобильного устройства (рис. 3.1). В качестве примера можно открыть страницу с описанием класса Registry
. Легко заметить, что поля CurrentUser
, LocalMachine
и Users
поддерживаются в .NET Compact Framework, а поля DynData
и PerfomanceData
— нет.
Но даже если необходимый объект поддерживается в .NET Compact Framework, то все равно следует внимательно ознакомиться с его описанием. Например, поле LocalMachine
поддерживается только в NET Compact Framework 2.0, поэтому при разработке нужно решить, стоит ли использовать это поле (рис. 3.2).
Рис. 3.2. Просмотр поддержки версий .NET Compact Framework
В следующем списке перечислены элементы управления, которые не входят в состав классов библиотеки .NET Compact Framework 1.0:
□ CheckedListBox
;
□ ColorDialog
;
□ ErrorProvider
;
□ FontDialog
;
□ GroupBox
;
□ HelpProvider
;
□ LinkLabel
(поддерживается в .NET Compact Framework 2.0);
Читать дальше