Программирование КПК и смартфонов на .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
.
Поделиться:
Популярные книги
Кодекс Крови. Книга III
3. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Отчий дом. Семейная хроника
Проза:
классическая проза
5.00
рейтинг книги
Скандальная свадьба
1. Такие разные свадьбы
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Путанабус. Трилогия
Фантастика:
боевая фантастика
6.93
рейтинг книги
Идеальный мир для Лекаря 25
25. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Кодекс Крови. Книга ХVI
16. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Проданная невеста
Любовные романы:
любовно-фантастические романы
5.80
рейтинг книги
Потомок бога
1. Локки
Фантастика:
попаданцы
альтернативная история
аниме
сказочная фантастика
5.00
рейтинг книги
С Д. Том 16
16. Сердце дракона
Фантастика:
боевая фантастика
6.94
рейтинг книги
Переиграть войну! Пенталогия
Переиграть войну!
Фантастика:
героическая фантастика
альтернативная история
8.25
рейтинг книги
От Советского Информбюро - 1941-1945 (Сборник)
Документальная литература:
биографии и мемуары
5.00
рейтинг книги

Санек 3
3. Санек
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прометей: повелитель стали
3. Прометей
Фантастика:
фэнтези
7.05
рейтинг книги
Отмороженный 14.0
14. Отмороженный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00