NumericUpDown
Элемент NumericUpDown представляет пользователю выбор числа из определенного диапазона. Для определения диапазона чисел для выбора NumericUpDown имеет два свойства: Minimum (задает минимальное число) и Maximum (задает максимальное число).
Само значение элемента хранится в свойстве Value:
По умолчанию элемент отображает десятичные числа. Однако если мы установим его свойство Hexadecimal равным true, то элемент будет отображать все числа в шестнадцатеричной системе.
Даже если мы в коде установим обычное десятичное значение:
то элемент все равно отобразит его в шестнадцатиричной системе.
Если мы хотим отображать в поле дробные числа, то можно использовать свойство DecimalPlaces, которое указывает, сколько знаков после запятой должно отображаться. По умолчанию это свойство равно нулю.
Также можно задать отображение тысячного разделителя. Для этого для свойства ThousandsSeparator надо установить значение true. Например, numericUpDown при Value=1000,03, DecimalPlaces=2 и ThousandsSeparator=true:
При этом надо учитывать, что если мы устанавливаем значение для свойства Value в окне свойств, то там в качестве разделителя цеой и дробной части используется запятая. Если же мы устанавливаем данное свойство в коде, тогда в качестве разделителя используется точка.
По умолчанию при нажатии на стрелочки вверх-вниз на элементе значение будет увеличиваться, либо уменьшаться на единицу. Но с помощью свойства Increment можно задать другой шаг приращения, в том числе и дробный.
При работе с NumericUpDown следует учитывать, что его свойство Value (как и свойства Minimum и Maximum) хранит значение decimal. Поэтому в коде мы также должны с ним работать как с decimal, а не как с типом int или double.
DomainUpDown
Элемент DomainUpDown предназначен для ввода текстовой информации. Он имеет текстовое поле для ввода строки и две стрелки для перемещения по списку строк:
Список для DomainUpDown задается с помощью свойства Items. Список можно сразу упорядочить по алфавиту. Для этого надо свойству Sorted присвоить значение true.
Чтобы можно было циклично перемещаться по списку, то есть при достижении конца или начала списка его просмотр начинался с первого или последнего элемента, надо установить для свойства Wrap значение true.
В коде выбранное значение в DomainUpDown доступно через свойство Text. Например, добавим программно список строк в DomainUpDown и обработаем изменение выбора в списке: