Progress Bar
Fortschrittsbalken sind seit je her ein beliebtes Mittel, um Anwender über den Status eines länger dauernden Vorganges zu informieren. Leider erhält der Anwender selten eine Mitteilung nachdem dieser Vorgang abgeschlossen wurde und ihm fehlen sämtliche Informationen, sollte er das Programmfenster minimieren oder zu einer anderen Anwendung wechseln.
Mit Windows 7 gehören auch diese Probleme der Vergangenheit an, denn jetzt kann eine Anwendung auch in der Taskbar einen Fortschrittsbalken anzeigen. Dabei gibt es sogar unterschiedlichen Möglichkeiten der Konfiguration.
Die einfachste Verwendung eines Fortschrittsbalken ist der kontinuierliche Anstieg von einem minimalen auf einen maximalen Wert. Wie auch bei einem normalen Progress Bar, wird das Taskbar-Symbol komplett ausgefüll,t wenn der maximale Wert erreicht ist.
int minValue =
0;
int maxValue = 100;
for (int value = minValue; value < maxValue; value++)
{
TaskbarManager.Instance.SetProgressValue(value, maxValue);
// Pause von 10 ms.
System.Threading.Thread.Sleep(10);
}
int maxValue = 100;
for (int value = minValue; value < maxValue; value++)
{
TaskbarManager.Instance.SetProgressValue(value, maxValue);
// Pause von 10 ms.
System.Threading.Thread.Sleep(10);
}

Zusätzlich zum regulären grünen
Fortschrittsbalken lassen sich durch weitere Farben
zusätzliche Informationen an den Anwender
übermitteln.
Einen gelben Fortschrittsbalken erreicht man durch den Aufruf von SetProgressState mit dem Parameter TaskbarProgressBarState.Paused.
Einen gelben Fortschrittsbalken erreicht man durch den Aufruf von SetProgressState mit dem Parameter TaskbarProgressBarState.Paused.
TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.Paused);

Benötigen Sie indes einen roten Fortschrittsbalken,
geht das mit dem folgen Befehl.
TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.Error);

Als vierte Variation haben Sie die Möglichkeit, den
Progress Bar im Status Indeterminate darzustellen.
Jetzt können keine konkreten Werte mehr angezeigt
werden, Sie erhalten stattdessen eine
kontinuierliche Animation in der Progress Bar in
Form eines wandernden Farbfeldes.
TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.Indeterminate);

Zurücksetzten lässt sich der Progress Bar mit der
Anweisung:
TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.NoProgress);