Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework
- Название:Программирование КПК и смартфонов на .NET Compact Framework
- Автор:
- Жанр:
- Издательство:Питер
- Год:2007
- Город:Санкт-Петербург
- ISBN:978-5-91180-270-7
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Александр Климов - Программирование КПК и смартфонов на .NET Compact Framework краткое содержание
Мобильные устройства все активнее вторгаются в нашу жизнь. Карманные компьютеры и смартфоны давно утратили статус дорогих игрушек и перекочевали в разряд необходимых устройств. Значит, для них необходимо создавать программное обеспечение. Так почему вы должны оставаться в стороне?
Прочитав эту книгу, вы получите знания, которые позволят вам уверенно создавать программы для карманных компьютеров и смартфонов. А огромное количество разнообразных примеров поможет быстро совершенствоваться и развиваться, обогащая свой опыт работы.
Книга предназначена для начинающих программистов.
Программирование КПК и смартфонов на .NET Compact Framework - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Также текстовое поле не поддерживает свойство CharacterCasing
, позволяющее в автоматическом режиме преобразовывать символы текста в нужный регистр. Впрочем, данный недостаток легко исправить, что иллюстрирует фрагмент кода, приведенный в листинге 3.2.
private void txtCurTime_KeyPress(object sender, KeyPressEventArgs e) {
if (Char.IsLetter(e.KeyChar)) {
// сохраняем текущую позицию каретки
int pos = txtCurTime.SelectionStart;
// переводим в верхний регистр
txtCurTime.Text =
txtCurTime.Text.Insert(txtCurTime.SelectionStart,
Char.ToUpper(e.KeyChar).ToString());
// перемещаем каретку в новую позицию
txtCurTime.SelectionStart = pos + 1;
e.Handled = true;
}
}
У смартфонов внешний вид текстовых полей несколько отличается от стандартного вида. В частности, текстовое поле не имеет окантовки. Более подробно о текстовых полях в приложениях для смартфонов рассказывается в соответствующей главе.
Элемент Label
В рассмотренном примере также использовался элемент Label
для отображения текстовой строки. Как правило, надпись используется для отображения некоторого текста, который пользователь не может изменить. Сама отображаемая строка задается при помощи свойства Text
. Текст на экране можно выравнивать с помощью свойства TextAlign
. Разработчик может использовать значения TopLeft
, TopCenter
и TopRight
. При изменении текста в метке инициируется событие TextChanged
. При создании элемента нужно следить за длиной отображаемой строки. Если текст слишком большой и не помещается в пределах элемента, то он попросту обрезается.
В отличие от полной версии .NET Framework, элемент Label в .NET Compact Framework не поддерживает такие свойства, как AutoSize
, BorderStyle
, Image
, ImageList
и многие другие. Также не поддерживается событие Click
. Впрочем, на практике редко возникает нужда в обработке этого события.
Элемент RadioButton
Элемент управления RadioButton
позволяет создавать переключатели, объединенные в группы. Вся группа переключателей должна располагаться в контейнере. Примером такого контейнера может служить сама форма, но чаще используется элемент Panel
.
Когда пользователь выбирает один переключатель, то остальные переключатели в контейнере автоматически переводятся в выключенное состояние. Приложение может иметь несколько групп элементов RadioButton
. В любом случае группы переключателей не зависят друг от друга.
При изменении состояния переключателя в классе RadioButton
инициируются события Click
и CheckedChanged
. Событие Click
возникает, когда пользователь щелкает стилусом на самом переключателе. Событие CheckedChanged
возникает, когда состояние элемента RadioButton
меняется программно или в результате действий пользователя. Событие Click
не инициируется, когда свойство CheckedChanged
меняется программно.
Для демонстрации примера работы с элементом RadioButton
можно создать аналог популярной телеигры «Кто хочет стать миллионером?». На экране будет отображаться вопрос, а пользователь должен выбрать из представленных вариантов единственный правильный ответ. Код, реализующий основную функциональность приложения, приведен в листинге 3.3.
private void radClub1_CheckedChanged(object sender, EventArgs e) {
if (this.radClub1.Checked)
MessageBox.Show("Увы, вы проиграли", "Ошибка!");
}
private void radClub2_CheckedChanged(object sender, EventArgs e) {
if (this.radClub2.Checked)
MessageBox.Show("Поздравляю! Вы выиграли миллион!", "Миллион!");
}
private void radClub3_CheckedChanged(object sender. EventArgs e) {
if (this.radClub3.Checked)
MessageBox.Show("Увы, вы проиграли", "Ошибка!");
}
private void radClub4_CheckedChanged(object sender. EventArgs e) {
if (this.radClub4.Checked)
MessageBox.Show ("Увы, вы проиграли", "Ошибка!");
}
На рис. 3.4 показан внешний вид этого приложения.

Рис. 3.4. Демонстрация работы независимых переключателей
В полной версии .NET Framework в качестве контейнера для переключателей часто используется элемент GroupBox
, который на данный момент не поддерживается в библиотеке .NET Compact Framework. Также не поддерживаются некоторые свойства, к которым относятся Appearance
, Image
и ImageList
.
Элемент Panel
Элемент управления Panel используется в качестве контейнера для размещения других элементов управления. Так как .NET Compact Framework не поддерживает элемент управления GroupBox
, то для группировки таких элементов, как переключатели RadioButton
, приходится использовать именно Panel
.
В версии .NET Compact Framework элемент не поддерживает свойства BorderStyle
, BackGroundImage
и AutoScroll
.
Элемент CheckBox
Элемент управления CheckBox
позволяет создавать независимый переключатель в виде флажка. Элемент CheckBox
имеет свойство CheckState
, позволяющее определить состояние переключателя. Программист может использоваться значения Unchecked
, Checked
и Indeterminate
. Значение Unchecked
свидетельствует о том, что флажок в переключателе не взведен. Если переключатель все же включен, то используется значение Checked
. Но значение Indeterminate
требует некоторых пояснений. Состояние Indeterminate
используется, когда для свойства ThreeState
элемента CheckBox
установлено значение True
. Если свойство CheckState
имеет значение Indeterminate
, то элемент окрашен серым цветом, но, тем не менее, считается помеченным. При этом пользователь не может изменить состояние переключателя.
Также элемент не распознает событие Click
, если свойство AutoCheck
имеет значение False
. Для этого свойства нужно задать значение True
, чтобы пользователь мог пользоваться стилусом для работы с переключателем.
Также элемент также не поддерживает некоторые свойства, в частности, ImageIndex
.
Элемент ComboBox
Элемент управления ComboBox
позволяет создавать поле со списком выбора. Благодаря своей компактности этот элемент управления хорошо подходит для тех задач, когда требуется экономить место на экране. Поле со списком выглядит как обычное текстовое поле TextBox
со стрелкой, которая расположена в правой части поля. Когда пользователь щелкает по стрелке, то открывается список с предварительно заданными элементами. Когда пользователь выбирает определенный пункт списка или снова щелкает по стрелке, то список снова сворачивается.
Добавлять текстовые элементы в ComboBox
можно как в режиме проектирования, так и программно во время работы программы.
Интервал:
Закладка: