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

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

Даже если мы в коде установим обычное десятичное значение:
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 задается с помощью свойства Items . Список можно сразу упорядочить по алфавиту. Для этого надо свойству Sorted присвоить значение true .
Чтобы можно было циклично перемещаться по списку, то есть при достижении конца или начала списка его просмотр начинался с первого или последнего элемента, надо установить для свойства Wrap значение true .
В коде выбранное значение в DomainUpDown доступно через свойство Text. Например, добавим программно список строк в DomainUpDown и обработаем изменение выбора в списке:
public partial class Form1 : Form < public Form1() < InitializeComponent(); Liststates = new List < "Аргентина", "Бразилия", "Венесуэла", "Колумбия", "Чили" >; // добавляем список элементов domainUpDown1.Items.AddRange(states); domainUpDown1.TextChanged += domainUpDown1_TextChanged; > // обработка изменения текста в элементе void domainUpDown1_TextChanged(object sender, EventArgs e) < MessageBox.Show(domainUpDown1.Text); >>
Для обработки изменения текста здесь таке, как и для элемента TextBox, можно использовать событие TextChanged , в обработчике которого мы выводим выбранный текст в сообщение.
Как установить максимальное и минимальное значения для numericupdown в windows forms c++ ?
Смотрите свойства этого контрола. Там всё есть открытым текстом. Так и называется maxValue и minValue, или аналогично.
ПавелМастер (2366) 8 лет назад
я знаю, но мне это не нужно
нужно вбить границы диапазона в код, чтобы numericupdown не давал вводить значения, выходящие за диапазон
Максим Искусственный Интеллект (193280) Ну так и вбейте в код. имя_контрола. свойство = .
Остальные ответы
ПавелМастер (2366) 8 лет назад
проблема в том, что нужно забить диапазон типа double
numericUpDown1->Minimum = -1.7*(pow(10., 308)) — пишет, что ошибка
Капитан Гугл Искусственный Интеллект (146193) Значит, numericUpDown тебе не подходит. Наследуйся от него и пиши свой класс.
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.
Как установить диапазон значение для numericupdown
На этом шаге мы рассмотрим назначение и основные свойства этого компонента .
- https://metanit.com/sharp/windowsforms/4.10.php
- https://studfile.net/preview/7124448/page:37/
Элемент управления NumericUpDown представляет собой сочетание текстового поля и пары кнопок со стрелками для выбора значения пользователем.
Рис.1. Компонент NumericUpDown на форме в режиме создания приложения
Он выводит и задает отдельное числовое значение в списке вариантов фиксированных числовых значений. Пользователь может увеличивать и уменьшать число, нажимая кнопки со стрелками вверх и вниз или клавиши со стрелками ВВЕРХ и ВНИЗ , а также вводя число в области текстового поля элемента управления. При нажатии клавиши со стрелкой ВВЕРХ число увеличивается до максимума; при нажатии клавиши со стрелкой ВНИЗ число уменьшается до минимума.
Свойства этого компонента представлены на рисунке 2.
Рис.2. Свойства компонента NumericUpDown
- Minimum — задает минимальное число (значение по умолчанию – 0),
- Maximum — задает максимальное число (значение по умолчанию – 100) и
- Increment — шаг приращения (значение по умолчанию – 1).
Само значение элемента хранится в свойстве Value .
По умолчанию элемент отображает десятичные числа. Однако если мы установим его свойство Hexadecimal равным True , то элемент будет отображать все числа в шестнадцатеричной системе (рисунок 3).
Рис.3. В свойстве Value задано десятичное значение 78
Если мы хотим отображать в поле дробные числа, то можно использовать свойство DecimalPlaces , которое указывает, сколько знаков после запятой должно отображаться. По умолчанию это свойство равно нулю.
Также можно задать отображение тысячного разделителя. Для этого для свойства ThousandsSeparator надо установить значение True . Например, numericUpDown при Value=1000,03, DecimalPlaces=2 и ThousandsSeparator=True (рисунок 4):
Рис.4. Вид компонента с разделителями тысяч
Примечание . Даже в том случае, если значение элемента управления NumericUpDown отображается в шестнадцатеричном формате, в любых проверках для свойства Value будет проверяться его десятичное значение.
- Выберите в Панели элементов на вкладке Все формы Windows Form элемент управления NumericUpDown и добавьте его на форму.
- В окне Properties ( Свойства ) элемента управления NumericUpDown установите свойства Value, Maximum, Minimum и Increment .
Прочитать заданное значение можно, например, так:
private: System::Void numericUpDown1_ValueChanged(System::Object^ sender, System::EventArgs^ e) < double x = Convert::ToDouble(numericUpDown1->Value); >
На следующем шаге мы рассмотрим компонент DomainUpDown .
NumericUpDown и использование десятичных значений в C#
Большинство разработчиков знают, что элемент NumericUpDown позволяет пользователю выбирать число, но мало кто знает, что он может обрабатывать десятичные значения в дополнение к целым числам.
Свойство DecimalPlaces элемента управления определяет количество цифр после десятичного знака, которое позволяет элемент управления. Свойство Increment определяет величину изменения значения, когда пользователь нажимает стрелки вверх или вниз. По умолчанию Increment равно 1. Если вы установите DecimalPlaces больше 0, вы можете установить Increment на значение меньше 0, чтобы сделать это проще для пользователя выбирать десятичные значения. Вы также можете изменить Minimum и Maximum, чтобы ограничить значения до разумного диапазона.
Обратите внимание, что этот элемент управления может быть неудобным, если пользователь должен выбрать десятичные значения в большом диапазоне, и элемент управления позволяет много цифр после десятичной точки. Например, если Minimum = 0, Maximum = 1000, DecimalPlaces = 3 и Increment = 0.001, тогда пользователь не может легко выбрать значение 987.654, щелкнув стрелки вверх и вниз. Пользователь все еще может щелкнуть и перетащить, чтобы выбрать значение, а затем ввести новое значение, но клавиши со стрелками не очень полезны.
В этом примере пользователь может выбрать десятичные значения от 0 до 1 с помощью DecimalPlaces = 2. Затем программа рисует эллипс с шириной и высотой, которые равны выбранному числу, умноженному на ширину и высоту формы.
При запуске программы он использует следующий код для подготовки элемента NumericUpDown с именем nudScale.
// Перерисовать по размеру. private void Form1_Load(object sender, EventArgs e)
Когда пользователь нажимает кнопку «вверх» или «вниз» элемента управления, следующий код преобразует форму в себя.
// Перерисовать. private void nudScale_ValueChanged(object sender, EventArgs e)
Наконец, следующий код показывает, как программа рисует свой эллипс.
// Нарисуем эллипс. private void Form1_Paint(object sender, PaintEventArgs e) < e.Graphics.SmoothingMode = SmoothingMode.AntiAlias; // Получаем размер эллипса в виде доли // ширина и высота формы. float width = (float)(ClientSize.Width * nudScale.Value); float height = (float)(ClientSize.Height * nudScale.Value); // Рисуем эллипс. float x = (ClientSize.Width - width) / 2; float y = (ClientSize.Height - height) / 2; e.Graphics.DrawEllipse(Pens.Red, x, y, width, height); >