Программирование КПК и смартфонов на .NET Compact Framework
Шрифт:
Разработчик управляет поведением элемента
NumericUpDown
при помощи свойств Minimum
, Maximum
, Value
и Increment
. Свойства Minimum
и Maximum
определяют максимальное и минимальное значения элемента. Свойство Value
содержит текущее значение в поле ввода. Свойство Increment
определяет величину увеличения или уменьшения значения в поле, когда пользователь нажимает кнопки со стрелками. Текущее значение всегда увеличивается и уменьшается на значение свойства Increment
,
Minimum
и Maximum
. Пользователь также может изменить свойство
Value
, просто указав соответствующее значение в поле. Если это значение находится в интервале между Minimum
и Maximum
, тогда свойства Value
и Text
изменятся в соответствии с введенным значением. Если новое значение выходит за рамки заданных значений, то свойство Text
отображает введенное число, а свойство Value
принимает значение, которое приписано свойству Maximum
. Чтобы запретить пользователю указывать числа в поле ввода, нужно для свойства ReadOnly
задать значение True
. При изменении значения элемента
NumericUpDown
инициируется событие ValueChanged
. Оно возникает только в том случае, если значение меняется программно или когда пользователь нажал кнопки со стрелками. При вводе числа событие не инициируется. В листинге 3.7 продемонстрирован пример использования элемента NumericUpDown
и обработки события ValueChanged
. Листинг 3.7
private void numericUpDown1_ValueChanged(object sender, EventArgs e) {
int year = (int)this.numericUpDown1.Value;
this.lblNote.Text = "Вы выбрали " + year.ToString + "год";
}
На рис. 3.5 показано, как функционирует элемент
NumericUpDown
. Рис. 3.5. Выбор года при помощи элемента NumericUpDown
При работе с элементом
NumericUpDown
следует учитывать одну особенность его функционирования. Предположим, пользователь нажимает кнопку со стрелкой вверх, постоянно увеличивая значение счетчика на величину свойства Increment
. При достижении максимального значения, определенного в свойстве Maximum
, счетчик сохранит значение, которое не будет отображено на экране. Теперь, когда пользователь начнет уменьшать значения с помощью кнопки со стрелкой вниз, то отчет пойдет не от максимального значения, которое отображено в поле ввода, а от последнего значения перед достижением максимума. Стоит проиллюстрировать эту ситуацию. Итак, у нас установлено текущее значение, равное 1992. Значение свойства
Increment
равно 6, а максимум ограничен значением 2006. Последовательные нажатия стрелки вверх доведут значение с 1992 до 2006. Итак, максимальное значение достигнуто. Теперь надо нажать кнопку со стрелкой, направленной вниз. Казалось бы, на экране должно быть показано число 2000 (2006-6), но следует учитывать, что перед превышением максимального значения счетчик запомнил число 2004. Именно от него будет отсчитываться разница, и на экране будет отображено число 1998. Элемент DomainUpDown
Элемент
DomainUpDown
NumericUpDown
, а его функциональность схожа с теми возможностями, которые предоставляют ComboBox
или ListBox
. Но в элементе DomainUpDown
вместо чисел используются строки. Этот элемент очень широко применяется для построения интерфейса, так как он весьма компактен и не занимает много места на маленьком экране карманного компьютера. Следует учитывать, что пользователь не может увидеть весь список. Если свойство ReadOnly
имеет значение True
, то пользователь может выбирать только заранее заданные строки из списка. Если это свойство имеет значение False
, то пользователь сможет добавить свой текст в поле ввода. Впрочем, напечатанный текст все равно не войдет в список. Так же как и элемент
NumericUpDown
, данный элемент управления содержит текстовое поле и две кнопки со стрелками с правой стороны. Пользователь может использовать эти стрелки для прокрутки списка строк или ввести в поле свой текст, если свойство ReadOnly
имеет значение False
. При создании объекта свойство
SelectedIndex
имеет значение -1, показывающее, что ни один элемент списка пока еще не выбран. Если нужно выделить тот или иной пункт списка при загрузке элемента, то в свойстве SelectedIndex
нужно указать соответствующий порядковый номер. В листинге 3.8 приведен пример, иллюстрирующий программное добавление строк в список и методику обработки события SelectedItemChanged
. Листинг 3.8
private void Form1_Load(object sender, System.EventArgs e) {
domainUpDown1.Items.Add("Item 1");
domainUpDown1.Items.Add("Item 2");
domainUpDown1.Items.Add("Item 3");
domainUpDown1.Items.Add("Item 4");
domainUpDown1.ReadOnly = true;
}
private void domainUpDown1_SelectedItemChanged(object sender,
System.EventArgs e) {
label1.Text = domainUpDown1.SelectedIndex.ToString;
label2.Text = domainUpDown1.Items[domainUpDown1.SelectedIndex].ToString;
}
Элемент ProgressBar
Элемент управления
ProgressBar
предназначен для индикации процесса выполнения какой-либо операции. Как правило, данный элемент активно используется при выполнении долгих операций, чтобы пользователь получил иллюзию контроля над работой приложения. Чаще всего разработчик оперирует свойствами
Minimum
, Maximum
и Value
. Свойства Minimum
и Maximum
задают минимальное и максимальное значения свойства Value
. А свойство Value
определяет текущее значение индикатора. Как правило, данный элемент отображается в момент начала долгой операции, а после ее завершения делается невидимым с помощью метода
Hide
или свойства Visible
.
Поделиться:
Популярные книги
Печать Пожирателя
1. Пожиратель
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Привет из Загса. Милый, ты не потерял кольцо?
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Мастер 2
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Нечто чудесное
2. Романтическая серия
Любовные романы:
исторические любовные романы
9.43
рейтинг книги
Клан
2. Долгий путь домой
Фантастика:
боевая фантастика
космическая фантастика
5.60
рейтинг книги
Имя нам Легион. Том 3
3. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Запасная дочь
Фантастика:
фэнтези
6.40
рейтинг книги
Убивать чтобы жить 7
7. УЧЖ
Фантастика:
героическая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
У врага за пазухой
5. Оголенные чувства
Любовные романы:
остросюжетные любовные романы
эро литература
5.00
рейтинг книги
Кодекс Охотника. Книга XXI
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Генерал Скала и ученица
2. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.30
рейтинг книги
Оцифрованный. Том 1
1. Линкор Михаил
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Его маленькая большая женщина
Любовные романы:
современные любовные романы
эро литература
8.78
рейтинг книги
Хуррит
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00