Reader Level:
ARTICLE

ProgressBar in C#

Posted by Mahesh Chand Articles | Windows Controls C# February 22, 2000
You need progress bars to display the progress of your application or background tasks.
  • 3
  • 0
  • 828864

A ProgressBar control is used to represent the progress of a lengthy operation that takes time where a user must wait for the operation to be finished.

In this article, we will see how to create a ProgressBar control in a Windows Forms application using Visual Studio 2010. We will also discuss the properties and methods defined in the ProgressBar class.

Creating a ProgressBar

We can create a ProgressBar control using a Forms designer at design-time or using the ProgressBar class in code at run-time.

Design-time

To create a ProgressBar control at design-time, you simply drag a ProgressBar control from the Toolbox and drop onto a Form in Visual Studio. After you the drag and drop, a ProgressBar is created on the Form; for example the ProgressBar1 is added to the form and looks as in Figure 1.

ProgressBarImg1.jpg 

Figure 1

Run-time

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

The first step to create a dynamic ProgressBar is to create an instance of the ProgressBar class. The following code snippet creates a ProgressBar control object:

C# Code:

ProgressBar pBar = new ProgressBar();

 

VB.NET Code:

 

Dim pBar As New ProgressBar()

 

In the next step, you may set the properties of the ProgressBar control. The following code snippet sets the Location, Name, Width, and Height properties of a ProgressBar.

C# Code:

pBar.Location = new System.Drawing.Point(20, 20);

pBar.Name = "progressBar1";

pBar.Width = 200;

pBar.Height = 30;

 

VB.NET Code:

 

pBar.Location = New System.Drawing.Point(20, 20)

pBar.Name = "progressBar1"

pBar.Width = 200

pBar.Height = 30

 

Once the ProgressBar control is ready with its properties, the next step is to add the ProgressBar to a Form. To do so, we need to add the ProgressBar control to the form using the Controls.Add method as in the following.

 

C# Code:

Controls.Add(pBar);

 

VB.NET Code:

 

Controls.Add(pBar)

Setting ProgressBar Properties

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

The easiest way to set the properties is from the Properties Window. You can open the Properties window by pressing F4 or right-clicking on a control and selecting the "Properties" menu item. The Properties window looks as in Figure 2.

ProgressBarImg2.jpg
Figure 2

Name

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

C# Code:

PBar.Name = "ProgresBar1";

 

VB.NET Code:

 

PBar.Name = "ProgresBar1"

Positioning a ProgressBar

We can use the Location property to position a control. We can also dock a control using the Dock property.

Note: A ProgressBar can only be positioned horizontally.

The Dock property is used to set the position of a ProgressBar. It is of the type DockStyle that can have values Top, Bottom, Left, Right, and Fill. The following code snippet sets the Location, Width, and Height properties of a ProgressBar control.

C# Code:

pBar.Dock = DockStyle.Bottom;

 

VB.NET Code:

 

PBar.Dock = DockStyle.Bottom

Minimum, Maximum, and Value

The Minimum and Maximum properties define the range of a ProgressBar. The Value property represents the current value of a ProgressBar. The current value of the ProgressBar for the minimum value is the color green to show the progress of the control. We can also use the Value property to show the progress of an operation.

C# Code:

pBar.Minimum = 0;

pBar.Maximum = 100;

pBar.Value = 70;

 

VB.NET Code:

 

PBar.Minimum = 0

PBar.Maximum = 100

PBar.Value = 70

 

A ProgressBar with a value looks as in Figure 3.

 

ProgressBarImg3.jpg
Figure 3

RightToLeftLayout and MarqueeAnimationSpeed

The default progress of a ProgressBar is from left to right. But the ProgressBar control can also show the progress from right to left by setting RightToLeftLayout to true. The MarqueeAnimationSpeed property represents the time period, in milliseconds, that it takes the progress block to scroll across the progress bar.

Summary

In this article, we discussed how to create menus using the ProgressBar control. First we discussed how to create menus at design-time and run-time. After that we saw, how to set menus properties and click event handlers.

Article Extensions
Contents added by Alan C Balkany on Jun 17, 2009
The article is short and simple, which is good, but it's TOO short and simple.  A working example that can be copied and pasted would make this article infinitely more useful.  Also compiling the code before posting it would allow the typos to be identified and corrected.
COMMENT USING