Introduction
I've developed an XpProgressBar that looks like the one used by the default WinXP theme. I have added a lot of features to fully customize its look.
Very important !!!
If you update the position of the progress bar in a tight loop or in a CPU intensive area and you feel that the bar is not repainted, use the following code in the place where you have problem:
Application.DoEvents();
Please don't use Invalidate()
, .Refresh()
or .Update()
. This can result in low performance and sometimes these don't work.
XpProgressBar features
The control offers the following features:
- Good performance
The XpProgressBar doesn't use much of the CPU because it uses a double buffer feature that performs painting operations offline to an image and later to the screen (this works at least three times faster).
- Non flicking double buffer
This control is implemented with a double buffer to provide smooth animation without any flicking and small paint time.
- Anti alias text
All the strings painted in the progress bar are drawn using anti alias hint to provide better quality.
- Text shadow
You can set the shadow to the text and customize its color and the alpha channel.
- Fully customizable
As you can see, every property of the progress bar can be set to provide a beautiful look.
The properties of the control:
GradientStyle
You can set the GradientStyle
property to obtain some of these styles:
Animation sample
The following picture shows an animation sample with different timers and looks:
License
The control and the source code are completely free for commercial and non commercial use.
History
- 2005-10-1: Article submitted.
-
- 1.5
- Improved the performance of Paint algorithms.
- Alpha text
- The image on the ProgressBar looks like a logo (with alpha of course, jeje).
- Can disable Anti Alias Text.
- 2.0
- Vertical ProgressBar (not only horizontal)
- Text align
- Border color
Updates
Visit my page Marcos Meli and come back with updates soon.
Marcos Meli v1.0 was released at august of 1980 by Francisco and Mabel Inc.
He´s from Bahia Blanca, Argentina.
He enjoy developing from the 12 years, has a degree in Computer Science, and of course, love this site and .NET in general.
He is the lead developer of the
FileHelpers Library.
Marcos is also the co-funder of
Devoo.Net.
A company that provides Object Oriented Components & Libraries for .NET developers (mostly open source)