TaskbarItemInfo.ProgressState Property

.NET Framework (current version)
 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Gets or sets a value that indicates how the progress indicator is displayed in the taskbar button.

Namespace:   System.Windows.Shell
Assembly:  PresentationFramework (in PresentationFramework.dll)

public TaskbarItemProgressState ProgressState { get; set; }

Property Value

Type: System.Windows.Shell.TaskbarItemProgressState

An enumeration value that indicates how the progress indicator is displayed in the taskbar button. The default is None.

You can communicate the progress of long-running tasks by displaying a progress indicator in a Windows 7 taskbar button. The color of the indicator is determined by the ProgressState property, which contains one of the TaskbarItemProgressState enumeration values. When the ProgressState is Normal, the indicator is green. When Paused, the indicator is yellow. When Error, the indicator is red. For these states, the ProgressValue property determines how much of the taskbar button is filled by the progress indicator. ProgressValue is ignored for other values of ProgressState. Indeterminate shows a pulsing green indicator across the entire taskbar button. No indicator is shown for None.

The following illustration shows the taskbar progress indicator in the Normal state.

Taskbar Item Info Sample

Windows Taskbar Progress Indicator

The following example shows how to set the ProgressState property in code. The state is set in the handler of a BackgroundWorker.RunWorkerCompleted event to indicate whether the background task was stopped by the user, ended with an error, or completed normally. This example is part of a larger example provided for the TaskbarItemInfo class.

void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
    // When the task ends, change the ProgressState and Overlay
    // of the taskbar item to indicate a stopped task.
    if (e.Cancelled == true)
    {
        // The task was stopped by the user. Show the progress indicator
        // in the paused state.
        this.taskBarItemInfo1.ProgressState = TaskbarItemProgressState.Paused;
    }
    else if (e.Error != null)
    {
        // The task ended with an error. Show the progress indicator
        // in the error state.
        this.taskBarItemInfo1.ProgressState = TaskbarItemProgressState.Error;
    }
    else
    {
        // The task completed normally. Remove the progress indicator.
        this.taskBarItemInfo1.ProgressState = TaskbarItemProgressState.None;
    }
    // In all cases, show the 'Stopped' overlay.
    this.taskBarItemInfo1.Overlay = (DrawingImage)this.FindResource("StopImage");
}

.NET Framework
Available since 4.0
Return to top
Show: