SIGN UP MEMBER LOGIN:    
ARTICLE

NumericUpDown in C#

Posted by Mahesh Chand Articles | Windows Controls C# June 22, 2010
A NumericUpDown control allows users to provide a spin (up/down) interface to move through pre-defined numbers using up and down arrows. In this tutorial, we will see how to create a NumericUpDown control at design-time as well as at run-time.
Reader Level:
 

A NumericUpDown control allows users to provide a spin (up/down) interface to move through pre-defined numbers using up and down arrows. In this tutorial, we will see how to create a NumericUpDown control at design-time as well as at run-time.

Creating a NumericUpDown

We can create a NumericUpDown control using the Forms designer at design-time or using the NumericUpDown class in code at run-time (also known as dynamically).

Design-time

To create a NumericUpDown control at design-time, you simply drag and drop a NumericUpDown control from Toolbox to a Form in Visual Studio. After you drag and drop a NumericUpDown on a Form, the NumericUpDown looks like Figure 1. Once a NumericUpDown is on the Form, you can move it around and resize it using mouse and set its properties and events.

NumericUpDownImg1.jpg
Figure 1

Run-time

Creating a NumericUpDown control at run-time is merely a work of creating an instance of NumericUpDown class, set its properties and adds NumericUpDown class to the Form controls.

First step to create a dynamic NumericUpDown is to create an instance of NumericUpDown class. The following code snippet creates a NumericUpDown control object.

private System.Windows.Forms.NumericUpDown numericUpDown1;

this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();

 

 

In the next step, you may set properties of a NumericUpDown control. The following code snippet sets location, size and Name properties of a NumericUpDown.

this.numericUpDown1.Location = new System.Drawing.Point(26, 12);

this.numericUpDown1.Name = "numericUpDown1";

this.numericUpDown1.Size = new System.Drawing.Size(228, 20);

this.numericUpDown1.TabIndex = 0;

 

Once the NumericUpDown control is ready with its properties, the next step is to add the NumericUpDown to a Form. To do so, we use Form.Controls.Add method that adds NumericUpDown control to the Form controls and displays on the Form based on the location and size of the control. The following code snippet adds a NumericUpDown control to the current Form.

 

this.Controls.Add(this.NumericUpDown1);

Setting NumericUpDown Properties

After you place a NumericUpDown control on a Form, the next step is to set its properties.

The easiest way to set properties is from the Properties Window. You can open Properties window by pressing F4 or right click on a control and select Properties menu item. The Properties window looks like Figure 2.

NumericUpDownImg2.jpg
Figure 2

Name

Name property represents a unique name of a NumericUpDown control. It is used to access the control in the code. The following code snippet sets and gets the name and text of a NumericUpDown control.

private NumericUpDown dynamicUpDown = new NumericUpDown();

dynamicUpDown.Name = "DynamicUpDownButton";

Location, Height, Width and Size

The Location property takes a Point that specifies the starting position of the NumericUpDown on a Form. You may also use Left and Top properties to specify the location of a control from the left top corner of the Form.  The Size property specifies the size of the control. We can also use Width and Height property instead of Size property. The following code snippet sets Location, Width, and Height properties of a NumericUpDown control.

dynamicUpDown.Location = new System.Drawing.Point(12, 50);

dynamicUpDown.Width = 200;

dynamicUpDown.Height = 25;

Font

Font property represents the font of text of a NumericUpDown control. If you click on the Font property in Properties window, you will see Font name, size and other font options. The following code snippet sets Font property at run-time.

dynamicUpDown.Font = new Font("Georgia", 12);

Foreground and Background

ForeColor and BackColor properties represent foreground and background colors of a control. The following code snippet sets the background and foreground colors of a control.

dynamicUpDown.ForeColor = Color.Orange;

dynamicUpDown.BackColor = Color.Black;

Current Value

The Value property represents the currently selected value in a control. The following code snippet sets and gets the Value properties at run-time.

dynamicUpDown.Value = 10;

 

MessageBox.Show(dynamicUpDown.Value.ToString());

Minimum and Maximum Range

Minimum and Maximum properties are used to set the minimum and maximum values of a NumericUpDown control. The following code snippet sets the minimum and maximum properties at run-time.

dynamicUpDown.Minimum = -10;

dynamicUpDown.Maximum = 10;

Acceleration and Increment

Accelerations property can be used to move through a set of values when up and down buttons are clicked in a NumericUpDown control.

Increment property is used to set the value that is increased or decreased when up and down buttons are clicked. The following code snippet sets the Increment and adds accelerations.

dynamicUpDown.Increment = 5;

 

numericUpDown1.Accelerations.Add(new NumericUpDownAcceleration(2, -5));

numericUpDown1.Accelerations.Add(new NumericUpDownAcceleration(5, 0));

numericUpDown1.Accelerations.Add(new NumericUpDownAcceleration(8, 5));

Decimal Places

We can format the number of a NumericDropDown control using the DecimalPlaces property. The following code snippet formats the number that displays 4 decimal values. 

dynamicUpDown.DecimalPlaces = 4;

HexaDecimal

We can use a NumericDropDown control to display number value in hexadecimal format. The following code snippet formats the number in hexadecimal. 

dynamicUpDown.Hexadecimal = true;

 

NumericUpDown ValueChanged Event Hander

ValueChanged event is fired when the value of a NumericUpDown control is changed. This is important say if you need to refresh some data on the Form based on the value of the NumericUpDown is changed.

 

To add this property event handler, you go to Events window and double click on the ValueChanged event as you can see in Figure 3

NumericUpDownImg3.jpg

.

 

Figure 3

 

The following code snippet defines and implements these events and their respective event handlers.

 

this.numericUpDown1.ValueChanged += new System.EventHandler(this.numericUpDown1_ValueChanged);

 

 

private void numericUpDown1_ValueChanged(object sender, EventArgs e)

{           

}

 

Summary
In this article, we discussed discuss how to create a NumericUpDown control in Windows Forms at design-time as well as run-time. After that, we saw how to use various properties and methods.

erver'>
Login to add your contents and source code to this article
share this article :
post comment
 

thank you for ur efforts :D

Posted by mezo elneshawy Mar 06, 2012

plz help me i want add numeric updown control on form and on that insert text box and minimum value is 00000 and its increment by 00001,00002,00003,-----------99999.like that what i can do for that plz help me

Posted by ketakee bhinge Feb 23, 2012

Hello there, I'm a student in C#, started the 28th of February this year, and we had to create a dice-game-alike program. In this program there's a numericUpDown object with Value.Changed that I want to couple to my 'roll'-button. Also, the numericUpDown should be accessible for the user to just write a number in it that will start the dices to roll x-time after the roll button is hit.. How should I do this please? thanks in advance. Greatings, Chantal.

Posted by Chantal Decraie Jun 18, 2011

tanking you

Posted by shiva kumar Jun 28, 2010
6 Months Free & No Setup Fees ASP.NET Hosting!
Become a Sponsor
PREMIUM SPONSORS
  • Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
    Get 2 Months Free of ASP.NET Hosting for Only $4.95/month! Receive FREE MS SQL and MySQL Databases Including ASP.NET 4/3.5, MVC 3.0, Silverlight 4, Windows 2008/IIS 7.0 Plus FREE IIS 7 Modules. Host UNLIMITED ASP.NET Web Sites - Click Here!
Become a Sponsor