Introduction
This is a fairly simple Progress Bar control inherited from Windows.Forms.Control
. The reason I reinvented this "wheel" is I don't like the looks of traditional ProgressBar
provided in VS.NET. My ColorProgressBar
looks more attractive and fancier, yet keeps the functionalities of old ProgressBar
. I hope I will get some genuine comments or suggestion from you.
Complete source code can be downloaded from the link above.
Control Properties
BarColor
The primary color of ColorProgressBar
.
BorderColor
The border color of ColorProgressBar
.
FillStyle
Bar styles, "Solid
" or "Dashed
".
Maximum
The maximum value of ColorProgressBar
.
Minimum
The minimum value or the initial value of ColorProgressBar
.
Value
The current value of ColorProgressBar
.
Step
The value of each increment or decrement when you call methods PerformStep()
and PerformStepBack()
.
Control Methods
PerformStep()
Call the PerformStep()
method to increase the value set in the Step
property.
PerformStepBack()
Call the PerformStepBack()
method to decrease the value set in the Step
property.
Increment(int value)
Call the Increment()
method to increase the integer value you specify.
Decrement(int value)
Call the Decrement()
method to decrease the integer value you specify.
Example
- See snapshot above
A timer is used to fake progress.
this.cpb1 = new ColorProgressBar.ColorProgressBar();
this.cpb2 = new ColorProgressBar.ColorProgressBar();
this.cpb3 = new ColorProgressBar.ColorProgressBar();
this.cpb4 = new ColorProgressBar.ColorProgressBar();
this.cpb5 = new ColorProgressBar.ColorProgressBar();
this.cpb6 = new ColorProgressBar.ColorProgressBar();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.cpb1.BarColor = System.Drawing.Color.FromArgb(((System.Byte)(255)),
((System.Byte)(128)), ((System.Byte)(128)));
this.cpb1.BorderColor = System.Drawing.Color.Black;
this.cpb1.FillStyle = ColorProgressBar.ColorProgressBar.FillStyles.Dashed;
this.cpb1.Location = new System.Drawing.Point(56, 48);
this.cpb1.Maximum = 100;
this.cpb1.Minimum = 0;
this.cpb1.Name = "cpb1";
this.cpb1.Size = new System.Drawing.Size(150, 15);
this.cpb1.Step = 10;
this.cpb1.TabIndex = 0;
this.cpb1.Value = 0;
this.cpb2.BarColor = System.Drawing.Color.FromArgb(((System.Byte)(255)),
((System.Byte)(255)), ((System.Byte)(128)));
this.cpb2.BorderColor = System.Drawing.Color.Black;
this.cpb2.FillStyle = ColorProgressBar.ColorProgressBar.FillStyles.Solid;
this.cpb2.Location = new System.Drawing.Point(56, 72);
this.cpb2.Maximum = 100;
this.cpb2.Minimum = 0;
this.cpb2.Name = "cpb2";
this.cpb2.Size = new System.Drawing.Size(150, 15);
this.cpb2.Step = 10;
this.cpb2.TabIndex = 1;
this.cpb2.Value = 100;
this.cpb3.BarColor = System.Drawing.Color.FromArgb(((System.Byte)(128)),
((System.Byte)(255)), ((System.Byte)(128)));
this.cpb3.BorderColor = System.Drawing.Color.Black;
this.cpb3.FillStyle = ColorProgressBar.ColorProgressBar.FillStyles.Dashed;
this.cpb3.Location = new System.Drawing.Point(56, 104);
this.cpb3.Maximum = 100;
this.cpb3.Minimum = 0;
this.cpb3.Name = "cpb3";
this.cpb3.Size = new System.Drawing.Size(192, 24);
this.cpb3.Step = 10;
this.cpb3.TabIndex = 2;
this.cpb3.Value = 0;
this.cpb4.BarColor = System.Drawing.Color.FromArgb(((System.Byte)(128)),
((System.Byte)(255)), ((System.Byte)(255)));
this.cpb4.BorderColor = System.Drawing.Color.Black;
this.cpb4.FillStyle = ColorProgressBar.ColorProgressBar.FillStyles.Solid;
this.cpb4.Location = new System.Drawing.Point(56, 144);
this.cpb4.Maximum = 100;
this.cpb4.Minimum = 0;
this.cpb4.Name = "cpb4";
this.cpb4.Size = new System.Drawing.Size(192, 24);
this.cpb4.Step = 10;
this.cpb4.TabIndex = 3;
this.cpb4.Value = 100;
this.cpb5.BarColor = System.Drawing.Color.FromArgb(((System.Byte)(255)),
((System.Byte)(128)), ((System.Byte)(255)));
this.cpb5.BorderColor = System.Drawing.Color.Black;
this.cpb5.FillStyle = ColorProgressBar.ColorProgressBar.FillStyles.Solid;
this.cpb5.Location = new System.Drawing.Point(56, 184);
this.cpb5.Maximum = 100;
this.cpb5.Minimum = 0;
this.cpb5.Name = "cpb5";
this.cpb5.Size = new System.Drawing.Size(272, 32);
this.cpb5.Step = 10;
this.cpb5.TabIndex = 4;
this.cpb5.Value = 0;
this.cpb6.BarColor = System.Drawing.Color.FromArgb(((System.Byte)(255)),
((System.Byte)(128)), ((System.Byte)(0)));
this.cpb6.BorderColor = System.Drawing.Color.Black;
this.cpb6.FillStyle = ColorProgressBar.ColorProgressBar.FillStyles.Dashed;
this.cpb6.Location = new System.Drawing.Point(56, 232);
this.cpb6.Maximum = 100;
this.cpb6.Minimum = 0;
this.cpb6.Name = "cpb6";
this.cpb6.Size = new System.Drawing.Size(272, 32);
this.cpb6.Step = 10;
this.cpb6.TabIndex = 5;
this.cpb6.Value = 100;
this.timer1.Enabled = true;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
private void timer1_Tick(object sender, System.EventArgs e)
{
cpb1.PerformStep();
if (cpb1.Value == cpb1.Maximum)
cpb1.Value = cpb1.Minimum;
cpb2.PerformStepBack();
if (cpb2.Value == cpb2.Minimum)
cpb2.Value = cpb2.Maximum;
cpb3.Increment(1);
if (cpb3.Value == cpb3.Maximum)
cpb3.Value = cpb3.Minimum;
cpb4.Decrement(1);
if (cpb4.Value == cpb4.Minimum)
cpb4.Value = cpb4.Maximum;
cpb5.Increment(1);
if (cpb5.Value == cpb5.Maximum)
cpb5.Value = cpb5.Minimum;
cpb6.Decrement(1);
if (cpb6.Value == cpb6.Minimum)
cpb6.Value = cpb6.Maximum;
}
Missing Features
Contributions
Using the Control
Adding ColorProgressBar control to Windows Form Toolbox
- Right-click the Windows Form Toolbox and choose Customize Toolbox... from the shortcut menu. The Customize Toolbox dialog box opens.
- Choose the .NET Framework Components tab and click Browse. Browse to the ColorProgressBar\bin\Release or \debug folder and select ColorProgressBar.dll.
ColorProgressBar
appears in the list of components in the Customize Toolbox dialog box.
- Check the box next to
ColorProgressBar
and Select OK. The ColorProgressBar
is now added to the tab of the Windows ToolBox.
My Other Control Project
Feedbacks
Please vote for this article.
And email me or leave your messages if you have:
- bug reports
- code improvements
- any comments or suggestions.