Элементы NumericUpDown и DomainUpDown

Последнее обновление: 31.10.2015

NumericUpDown

Элемент NumericUpDown представляет пользователю выбор числа из определенного диапазона. Для определения диапазона чисел для выбора NumericUpDown имеет два свойства: Minimum (задает минимальное число) и Maximum (задает максимальное число).

Само значение элемента хранится в свойстве Value:

NumericUpDown в Windows Forms

По умолчанию элемент отображает десятичные числа. Однако если мы установим его свойство Hexadecimal равным true, то элемент будет отображать все числа в шестнадцатеричной системе.

Шестнадцатиричные числа в NumericUpDown

Даже если мы в коде установим обычное десятичное значение:

numericUpDown1.Value = 66;

то элемент все равно отобразит его в шестнадцатиричной системе.

Если мы хотим отображать в поле дробные числа, то можно использовать свойство DecimalPlaces, которое указывает, сколько знаков после запятой должно отображаться. По умолчанию это свойство равно нулю.

Также можно задать отображение тысячного разделителя. Для этого для свойства ThousandsSeparator надо установить значение true. Например, numericUpDown при Value=1000,03, DecimalPlaces=2 и ThousandsSeparator=true:

При этом надо учитывать, что если мы устанавливаем значение для свойства Value в окне свойств, то там в качестве разделителя цеой и дробной части используется запятая. Если же мы устанавливаем данное свойство в коде, тогда в качестве разделителя используется точка.

По умолчанию при нажатии на стрелочки вверх-вниз на элементе значение будет увеличиваться, либо уменьшаться на единицу. Но с помощью свойства Increment можно задать другой шаг приращения, в том числе и дробный.

При работе с NumericUpDown следует учитывать, что его свойство Value (как и свойства Minimum и Maximum) хранит значение decimal. Поэтому в коде мы также должны с ним работать как с decimal, а не как с типом int или double.

DomainUpDown

Элемент DomainUpDown предназначен для ввода текстовой информации. Он имеет текстовое поле для ввода строки и две стрелки для перемещения по списку строк:

Элемент DomainUpDown в Windows Forms

Список для DomainUpDown задается с помощью свойства Items. Список можно сразу упорядочить по алфавиту. Для этого надо свойству Sorted присвоить значение true.

Чтобы можно было циклично перемещаться по списку, то есть при достижении конца или начала списка его просмотр начинался с первого или последнего элемента, надо установить для свойства Wrap значение true.

В коде выбранное значение в DomainUpDown доступно через свойство Text. Например, добавим программно список строк в DomainUpDown и обработаем изменение выбора в списке:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        List<string> states = new List<string>
        {
            "Аргентина", "Бразилия", "Венесуэла", "Колумбия", "Чили"
        };
        
        // добавляем список элементов
        domainUpDown1.Items.AddRange(states);
        domainUpDown1.TextChanged += domainUpDown1_TextChanged;   
    }
    // обработка изменения текста в элементе
    void domainUpDown1_TextChanged(object sender, EventArgs e)
    {
        MessageBox.Show(domainUpDown1.Text);
    } 
}

Для обработки изменения текста здесь таке, как и для элемента TextBox, можно использовать событие TextChanged, в обработчике которого мы выводим выбранный текст в сообщение.

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850