![]() |
Languages »
C / C++ Language »
General
Intermediate
Color ProgressBarBy Alan ZhaoAn attractive and fancier ProgressBar. |
C#, VB.NET 1.0, .NET 1.1, Win2K, WinXP, Win2003, Dev
|
|
Advanced Search |
|
|
|
||||||||||||||||

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.
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().
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.
- See snapshot above
A timer is used to fake progress.
//
// Control declarations
//
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);
//
// cpb1
//
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;
//
// cpb2
//
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;
//
// cpb3
//
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;
//
// cpb4
//
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;
//
// cpb5
//
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;
//
// cpb6
//
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;
//
// timer1
//
this.timer1.Enabled = true;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);//
// Actual manipulation by timer1
//
private void timer1_Tick(object sender, System.EventArgs e)
{
//
// All values are reset at the end to have endless loop
//
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;
}
onPaint() method, see his post here. ColorProgressBar appears in the list of components in the Customize Toolbox dialog box.
ColorProgressBar and Select OK. The ColorProgressBar is now added to the tab of the Windows ToolBox. Please vote for this article.
And email me or leave your messages if you have:
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 30 Apr 2004 Editor: Smitha Vijayan |
Copyright 2004 by Alan Zhao Everything else Copyright © CodeProject, 1999-2009 Web10 | Advertise on the Code Project |