Книга: Программирование КПК и смартфонов на .NET Compact Framework
Элемент NumericUpDown
Элемент NumericUpDown
Элемент NumericUpDown
позволяет создавать счетчик с числовым полем ввода. Такой элемент интерфейса помогает пользователю быстро выбрать число из заданного диапазона. Элемент может работать только с целыми числа типа Integer
. Десятичные значения округляются.
Разработчик управляет поведением элемента 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.
- Элемент Button
- Элемент TextBox
- Элемент Label
- Элемент RadioButton
- Элемент Panel
- Элемент CheckBox
- Элемент ComboBox
- Элемент ListBox
- Элемент NumericUpDown
- Элемент DomainUpDown
- Элемент ProgressBar
- Элемент StatusBar
- Элемент TrackBar
- Элемент ToolBar
- Элемент MainMenu
- Элемент ContextMenu
- Элемент Timer
- Элементы OpenFileDialog и SaveFileDialog
- Элементы HScrollBar и VScrollBar
- Список рисунков (ImageList)
- Элемент PictureBox
- Элемент ListView
- Элемент TabControl
- Элемент TreeView
- Элемент InputPanel
- Элемент управления DataGrid
- Элемент Splitter
- Элемент MonthCalendar
- Элемент DateTimePicker
- Элемент DocumentList
- Элемент Notification
- Элемент HardwareButton