Чтение онлайн

на главную - закладки

Жанры

Программирование КПК и смартфонов на .NET Compact Framework

Климов Александр Петрович

Шрифт:

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

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

True
свойства формы
MinimizeBox
.
Если для этого свойства задать значение
False
, то вместо кнопки с крестиком будет отображаться кнопка
OK
(рис. 2.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).

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

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

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

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

В этой главе уже упоминалась виртуальная клавиатура. Большинство карманных компьютеров не имеют встроенных клавиатур для ввода информации. Вместо клавиатуры в этом случае используется специальная панель ввода 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:

Поделиться:
Популярные книги

Адвокат Империи 3

Карелин Сергей Витальевич
3. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Адвокат Империи 3

Кротовский, может, хватит?

Парсиев Дмитрий
3. РОС: Изнанка Империи
Фантастика:
попаданцы
альтернативная история
аниме
7.50
рейтинг книги
Кротовский, может, хватит?

Дурная жена неверного дракона

Ганова Алиса
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Дурная жена неверного дракона

Вонгозеро

Вагнер Яна
1. Вонгозеро
Детективы:
триллеры
9.19
рейтинг книги
Вонгозеро

Ведьма Вильхельма

Шёпот Светлана
Любовные романы:
любовно-фантастические романы
8.67
рейтинг книги
Ведьма Вильхельма

Папина дочка

Рам Янка
4. Самбисты
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Папина дочка

Законы Рода. Том 6

Flow Ascold
6. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 6

Как я строил магическую империю 7

Зубов Константин
7. Как я строил магическую империю
Фантастика:
попаданцы
постапокалипсис
аниме
фантастика: прочее
5.00
рейтинг книги
Как я строил магическую империю 7

Лучший из худший 3

Дашко Дмитрий
3. Лучший из худших
Фантастика:
городское фэнтези
попаданцы
аниме
6.00
рейтинг книги
Лучший из худший 3

Штурмовик из будущего 3

Политов Дмитрий Валерьевич
3. Небо в огне
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Штурмовик из будущего 3

Последний попаданец 2

Зубов Константин
2. Последний попаданец
Фантастика:
юмористическая фантастика
попаданцы
рпг
7.50
рейтинг книги
Последний попаданец 2

Идеальный мир для Лекаря 14

Сапфир Олег
14. Лекарь
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 14

Безумный Макс. Поручик Империи

Ланцов Михаил Алексеевич
1. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
7.64
рейтинг книги
Безумный Макс. Поручик Империи

Вдова на выданье

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Вдова на выданье