Litvek: лучшие книги недели
Топ книга - Подстрочник: Жизнь Лилианны Лунгиной, рассказанная ею в фильме Олега Дормана [Олег Вениаминович Дорман] - читаем полностью в LitvekТоп книга - Технология жизни. Книга для героев [Владимир Константинович Тарасов] - читаем полностью в LitvekТоп книга - Исповедь экономического убийцы [Джон Перкинс] - читаем полностью в Litvek
Litvek - онлайн библиотека >> Александр Петрович Климов >> Android и др. >> Программирование КПК и смартфонов на .NET Compact Framework >> страница 4
полной версией .NET Framework и .NET Compact Framework существует довольно много различий, которые придется последовательно устранять.

Кнопки минимизации и закрытия формы

При создании пустой формы можно заметить, что отображается всего одна кнопка минимизации вместо привычных трех кнопок свертывания, восстановления и закрытия формы. Причем кнопка минимизации в виде крестика очень похожа на кнопку закрытия формы в обычных настольных приложениях. У начинающих программистов это поначалу вызывает недоумение. Стандартная модель поведения программ на карманном компьютере устроена таким образом, что когда пользователь нажимает кнопку с крестиком, то он сворачивает программу, а не закрывает ее. Об этом говорит значение True свойства формы MinimizeBox. Если для этого свойства задать значение False, то вместо кнопки с крестиком будет отображаться кнопка OK (рис. 2.5). При нажатии на эту кнопку программа завершит свою работу.

Программирование КПК и смартфонов на .NET Compact Framework. Иллюстрация № 5 Рис. 2.5. Приложение с кнопкой OK

Размеры и позиция формы

По умолчанию любая форма занимает весь экран. Ее верхний левый угол находится в точке с координатами (0, 26). Если попробовать вручную изменить значения свойства Location, то среда разработки проигнорирует эти попытки и вернет значения. Что же касается размеров формы, то при желании все же можно изменить высоту и ширину формы. Но на практике подобная необходимость встречается редко, поэтому мы не будем заострять на этом внимание.

Меню

По умолчанию в создаваемой форме уже содержится элемент управления MainMenu. Однако в первом примере он не применялся. Чтобы использовать этот элемент управления, нужно создать простое меню с одним пунктом. В области Component tray нужно выделить мышью элемент mainMenu1. На форме появится надпись Type here. В этой области нужно ввести слово «Поздороваться». Для обработчика события menuItem1_Click будет применяться тот же код, который вызывался при нажатии на кнопку. Код обработчика события приведен в листинге 2.2.

Листинг 2.2
private void menuItem1_Click(object sender, EventArgs e) {

 lblHello.Text = "Здравствуй, мир!";

}

После запуска программы можно заметить, что созданный пункт меню располагается в нижней части экрана, в отличие от настольных приложений, в которых меню располагается в верхней части окна (рис. 2.6).

Программирование КПК и смартфонов на .NET Compact Framework. Иллюстрация № 6 Рис. 2.6. Меню в нижней части окна

Следует отметить, что меню в приложениях для Pocket PC располагается не на форме, а на панели задач. Также на панели задач находится значок виртуальной клавиатуры SIP для ввода информации. Когда пользователь запускает приложение, то его меню появляется на панели задач. Но если удалить меню из формы, то при запуске программы панель задач вообще не будет отображаться (рис. 2.7).

Программирование КПК и смартфонов на .NET Compact Framework. Иллюстрация № 7 Рис. 2.7. Экран без панели задач

Панель ввода SIP

В этой главе уже упоминалась виртуальная клавиатура. Большинство карманных компьютеров не имеют встроенных клавиатур для ввода информации. Вместо клавиатуры в этом случае используется специальная панель ввода SIP (Software Input Panel), которая позволяет вводить текст (рис. 2.8).

Программирование КПК и смартфонов на .NET Compact Framework. Иллюстрация № 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.

Программирование КПК и смартфонов на .NET Compact Framework. Иллюстрация № 9 Рис. 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).

Программирование КПК и смартфонов на .NET Compact Framework. Иллюстрация № 10 Рис. 3.2. Просмотр поддержки версий .NET Compact Framework

В следующем списке перечислены элементы управления, которые не входят в состав классов библиотеки .NET Compact Framework 1.0:

□ CheckedListBox;

□ ColorDialog;

□ ErrorProvider;

□ FontDialog;

□ GroupBox;

□ HelpProvider;

□ LinkLabel (поддерживается в .NET Compact Framework 2.0);

□ NotificationBubble;

□ NotifyIcon;

□ элементы управления, связанные с печатью;

□ RichTextBox;

□ Splitter (поддерживается в .NET Compact Framework 2.0).

В Compact .NET Framework 2.0 были добавлены новые элементы управления,
Litvek: лучшие книги месяца
Топ книга - Прорицательница. Академия мертвых душ [Матильда Старр] - читаем полностью в LitvekТоп книга - Зимний солдат [Дэниел Мейсон] - читаем полностью в LitvekТоп книга - Дозоры [Сергей Васильевич Лукьяненко] - читаем полностью в Litvek