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.

Когда пользователь нажимает кнопку «вверх» или «вниз» элемента управления, следующий код преобразует форму в себя.

Наконец, следующий код показывает, как программа рисует свой эллипс.

Источник: http://csharphelper.com/blog/2016/08/make-a-numericupdown-use-decimal-values-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *