Первое приложение для. NET Compact Framework

Первые шаги

Практика — это самый лучший способ научиться программировать для мобильных устройств под NET Compact Framework. Чтобы по­верить в свои силы, нужно создать простейшее приложение. На его примере можно будет изучить различия между. NET Compact Framework и обычной. NET Framework.

Прежде всего нужно запустить среду разработки Microsoft Visual Studio 2005 и создать новый проект. Первые различия в процессе разработки можно увидеть уже на этой стадии. Если для создания обычных приложений надо было выбрать раздел Windows, то на этот раз необходимо выбрать раздел Smart Device. В этом разделе содер­жатся подразделы, которые отвечают за создание приложений для КПК, смартфонов и устройств под управлением операционной си­стемы Windows СЕ. Итак, нужно указать язык программирования Visual С#, перейти в раздел Smart Device и выбрать подраздел Pocket PC 2003 (рис. 2.1).

ПРИМЕЧАНИЕ——————————————————————————-

Список подразделов на рисунке может отличаться от списка под­разделов на вашем компьютере. Например, пункты Windows Mobile 5.0 Pocket PC и Windows Mobile 5.0 Smartphone появились после уста­новки соответствующих пакетов SDK.

В выбранном подразделе присутствуют несколько шаблонов для ре­ализации различных задач. Как правило, используется шаблон Device Application. Нужно отметить, что существует еще один похожий шаб­лон с названием Device Application (1.0). Эти два шаблона различают­ся применяемой версией. ИЕТ Compact Framework. По умолчанию в Visual Studio 2005 используется. NET Compact Framework версии 2.0. Если выделить первый шаблон, то в строке состояния можно уви­деть сообщение A project for creating a. NET Compact Framework 2.0 forms

После того как будет выбран шаблон для приложения, требуется изменить имя проекта. По умолчанию используется название DeviceApplicationl, но наше первое приложение получит имя FirstPocketPCApp_CS. После нажатия кнопки 0К откроется окно сре­ды разработки с необычным видом формы. Если при программиро­вании программ для настольных компьютеров отображается толь­ко форма, то в данном случае на экране будут показаны не только форма, но и внешний вид целевого устройства. При желании раз­работчик может даже изменить внешний вид карманного компью­тера, создав специальные файлы. Если вы предпочитаете работать с классическим видом формы, то можно отключить отображение устройства, оставив на экране только форму. Для этого нужно щелк­нуть правой кнопкой мыши на форме и в появившемся контекст­ном меню выбрать пункт Show Skin. Повторный выбор этого пункта вернет на экран стандартный вид формы.

application for Pocket PC 2003 and later. В примерах будет использовать­ся, как правило, версия 2.0, так как она имеет ряд преимуществ.

Первое приложение для. NET Compact Framework

Первое приложение для. NET Compact Framework

Рис. 2.1. Выбор типа платформы

Обычно в качестве первого примера создается стандартная про­грамма, которая выводит приветствие на экран. На форме надо рас­положить кнопку Button и элемент Label для отображения надписи. Также потребуется написать код для обработчика события Click созданной кнопки. Этот код приведен в листинге 2.1.

Листинг 2.1

private void butSayHelloCl і ck( object sender, EventArgs e)

{

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

}

Теперь можно запустить проект при помощи команды Start Debugging или клавиши быстрого вызова F5. При этом на экране появится диалоговое окно Deploy (рис. 2.2).

Первое приложение для. NET Compact Framework

Рис. 2.2. Диалоговое окно Deploy

В основном списке окна перечислены устройства, на которых может выполняться написанная программа. Проверять работу приложения можно как на реальном устройстве, так и при помощи эмулятора. Как правило при отладке программы используют эмуляторы и толь­ко в финальной части тестируют программу на реальном устройстве. Легко заметить, что создание программ для КПК совсем не требует наличия карманного компьютера. Автор не раз был свидетелем того, как разработчик на своем сайте признавался, что написал приложе­ние, не имея КПК. А пользователи благодарили автора за хорошую программу и подтверждали ее работоспособность на своих реальных моделях.

Практически все примеры из этой книги сначала запускались на эмуляторе Поэтому можно выбрать любой эмулятор из предложен­ного списка. Чаще всего применяется эмулятор Pocket PC 2003 SE. После выбора соответствующего значения в списке нужно нажать кнопку Deploy. Сначала на экране монитора будет отображен сам эмулятор (рис. 2.3), а спустя некоторое время в эмуляторе будет запущена созданная программа.

* Pocket Р — Йорі Secone ‘ і. _ X

№ Flash fceip

Первое приложение для. NET Compact Framework

Рис. 2.3. Первый запуск эмулятора

Мышью можно щелкнуть на кнопке с надписью Поздороваться. В ре­зультате на форме появится строка Здравствуй, мир! (рис. 2.4).

ЮКШИ

Здравей, уй, нир!

Первое приложение для. NET Compact Framework

Рис. 2.4. Отображение сообщения

Теперь, когда вы поверили в свои силы, вам захочется начать пере­писывать свои старые программы, написанные на C# или Visual Basic. NET, для карманных компьютеров. Но торопиться все же не стоит. Между полной версией. NET Framework и .NET Compact

Framework существует довольно много различий, которые придет­ся последовательно устранять.

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

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

Здравствуй, мцэ1

Рис. 2.5. Приложение с кнопкой ОК

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

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

Меню

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

Листинг 2.2

private void menuIteml_Click(object sender, EventArgs e)

{

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

}

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

Щ ‘:25иЭИЕЕЕ^ «5ЕЗ

Пдеетспив

Первое приложение для. NET Compact Framework

Рис. 2.6. Меню в нижней части окна

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

Первое приложение для. NET Compact Framework

Рис. 2.7. Экран без панели задач

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

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

Первое приложение для. NET Compact Framework

Г ДИН 1

12Э|1|2|3|4|5|6|7|В|9|0|-

=

ТЛ|q |w|е ] г 11

у | u 1 1 | о 1 p

і

i

САР| а 1S І и [ Г Id

hlilkllbM

st in|-[* 1 v|b

inii. i |/|;+-

Ctl|ttl| • | 1

Ultkl-

тшшт mh

Рис. 2.8. Активированная панель ввода SIP

Для работы с виртуальной клавиатурой в. NET Compact Framework используется класс InputPanel. Так как панель ввода находится на па­нели задач, то необходимо, чтобы панель задач была видимой. А ранее уже говорилось что, если форма не имеет меню, то панель задач будет невидима. В результате при попытке создания экземпляра класса InputPanel на форме, не имеющей меню, будет отображено сообщение об ошибке.

Стилус вместо мыши

Подавляющее число пользователей настольной версии Windows пользуются мышью. В карманных компьютерах роль мыши выпол­няет стержень из пластика, называемый стилусом. Конечно, у сти­луса нет правой кнопки для вызова контекстного меню. У него во­обще кнопок нет.

Вместо кнопок в карманных компьютерах применяется технология Tap-and-Hold. Для выделения элемента управления пользователь должен точно попасть в него кончиком стилуса. По аналогии с мы­шью, можно легко щелкнуть по экрану (Click), а можно нажать на экран и удерживать стилус на месте (Press).

Leave a reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Confirm that you are not a bot - select a man with raised hand: