In Windows Forms, NumericUpDown control is used to provide a Windows spin box or an up-down control which displays the numeric values. Or in other words, NumericUpDown control provides an interface which moves using up and down arrow and holds some pre-defined numeric value. The NumericUpDown class is used to represent the windows numeric up-down box and also provide different types of properties, methods, and events. It is defined under System.Windows.Forms namespace. In C# you can create a NumericUpDown in the windows form by using two different ways:
1. Design-Time: It is the easiest way to create a NumericUpDown as shown in the following steps:
- Step 1: Create a windows form as shown in the below image:
Visual Studio -> File -> New -> Project -> WindowsFormApp
- Step 2: Next, drag and drop the NumericUpDown control from the toolbox to the form.

- Step 3: After drag and drop you will go to the properties of the NumericUpDown control to modify NumericUpDown according to your requirement.

Output:

2. Run-Time: It is a little bit trickier than the above method. In this method, you can create a NumericUpDown control programmatically with the help of syntax provided by the NumericUpDown class. The following steps show how to set the create NumericUpDown dynamically:
- Step 1: Create a NumericUpDown control using the NumericUpDown() constructor is provided by the NumericUpDown class.
// Creating a NumericUpDown control NumericUpDown nbox = new NumericUpDown();
- Step 2: After creating a NumericUpDown control, set the property of the NumericUpDown control provided by the NumericUpDown class.
// Setting the properties of NumericUpDown control nbox.Location = new Point(386, 130); nbox.Size = new Size(126, 26); nbox.Font = new Font("Bodoni MT", 12); nbox.Value = 18; nbox.Minimum = 18; nbox.Maximum = 30; nbox.BackColor = Color.LightGreen; nbox.ForeColor = Color.DarkGreen; nbox.Increment = 1; nbox.Name = "MySpinBox"; - Step 3: And last add this NumericUpDown control to the form using the following statement:
// Adding this control // to the form this.Controls.Add(nbox);
Example:
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespaceWindowsFormsApp42 {publicpartialclassForm1 : Form {publicForm1(){InitializeComponent();}privatevoidForm1_Load(objectsender, EventArgs e){// Creating and setting the// properties of the labelsLabel l1 =newLabel();l1.Location =newPoint(348, 61);l1.Size =newSize(215, 20);l1.Text ="Form";l1.Font =newFont("Bodoni MT", 12);this.Controls.Add(l1);Label l2 =newLabel();l2.Location =newPoint(242, 136);l2.Size =newSize(103, 20);l2.Text ="Enter Age";l2.Font =newFont("Bodoni MT", 12);this.Controls.Add(l2);// Creating and setting the// properties of NumericUpDownNumericUpDown nbox =newNumericUpDown();nbox.Location =newPoint(386, 130);nbox.Size =newSize(126, 26);nbox.Font =newFont("Bodoni MT", 12);nbox.Value = 18;nbox.Minimum = 18;nbox.Maximum = 30;nbox.BackColor = Color.LightGreen;nbox.ForeColor = Color.DarkGreen;nbox.Increment = 1;nbox.Name ="MySpinBox";// Adding this control// to the formthis.Controls.Add(nbox);}}}Output:

Constructor
| Constructor | Description |
|---|---|
| NumericUpDown() | This Constructors is used to initialize a new instance of the NumericUpDown class. |
Properties
| Property | Description |
|---|---|
| AutoSize | This property is used to get or set a value that indicates whether the control resizes based on its contents. |
| BackColor | This property is used to get or set the background color for the control. |
| BorderStyle | This property indicates the border style for the control. |
| Font | This property is used to get or set the font of the text displayed by the control. |
| ForeColor | This property is used to get or set the foreground color of the control. |
| Height | This property is used to get or set the height of the control. |
| Location | This property is used to get or set the coordinates of the upper-left corner of the NumericUpDown control relative to the upper-left corner of its form. |
| Name | This property is used to get or set the name of the control. |
| TabStop | This property is used to get or set a value that shows whether the user can press the TAB key to provide the focus to the NumericUpDown. |
| Size | This property is used to get or set the height and width of the control. |
| Text | This property is used to get or set the text to be displayed in the NumericUpDown control. |
| TextAlign | This property is used to get or set the alignment of the text in the spin box (also known as an up-down control). |
| Visible | This property is used to get or set a value indicating whether the control and all its child controls are displayed. |
| Width | This property is used to get or set the width of the control. |
| UpDownAlign | This property is used to get or set the alignment of the up and down buttons on the spin box (also known as an up-down control). |
| ThousandsSeparator | This property is used to get or set a value indicating whether a thousands separator is displayed in the spin box (also known as an up-down control) when appropriate. |
| Hexadecimal | This property is used to get or set a value indicating whether the spin box (also known as an up-down control) should display the value it contains in hexadecimal format. |
| Increment | This property is used to get or set the value to increment or decrement the spin box (also known as an up-down control) when the up or down buttons are clicked. |
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.


