ProgressBarStyle Enumeration
Specifies the style that a ProgressBar uses to indicate the progress of an operation.
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
| Member name | Description | |
|---|---|---|
| Blocks | Indicates progress by increasing the number of segmented blocks in a ProgressBar. | |
| Continuous | Indicates progress by increasing the size of a smooth, continuous bar in a ProgressBar. | |
| Marquee | Indicates progress by continuously scrolling a block across a ProgressBar in a marquee fashion. |
You can use the marquee style when you need to indicate progress is being made, but you cannot indicate the quantity of progress. The Marquee style is valid only when visual styles are enabled. The Continuous style is valid only when visual styles are not enabled.
Windows XP Home Edition, Windows XP Professional x64 Edition, Windows Server 2003 Platform Note: The Marquee style is supported only on these platforms.
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Application.EnableVisualStyles();On the other hand, if you want to use "Continuous", and the application visual style is enabled, the progress will change from "Continuous" to "Blocks" without any easy way to fix that.
It has been suggested elsewhere that you tweak the window theme in order to achieve the "Continuous" effect when application visual style is enabled (but it is debatable if you really want to do that):
using System;
using System.Windows.Forms;
public class ContinuousProgressBar: ProgressBar
{
public ContinuousProgressBar()
{
this.Style = ProgressBarStyle.Continuous;
}
protected override void CreateHandle()
{
base.CreateHandle();
try { SetWindowTheme(this.Handle, "", ""); }
catch { }
}
[System.Runtime.InteropServices.DllImport("uxtheme.dll")]
private static extern int SetWindowTheme(IntPtr hwnd, string appname, string idlist);
}
- 5/26/2011
- woohoo!