Wil*_*lka 39
对于.NET 4以下版本,或任何.NET版本的WinForms
使用Microsoft 的Windows API代码包(如Keeron所提到的),它非常简单.你只需要使用TaskbarManager.例如
要开始进步:
TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.Normal);
要更新进度:
TaskbarManager.Instance.SetProgressValue(currentValue, maxProgressValue);
当你完成时,结束进度:
TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.NoProgress);
你可以做的更多,但这应该让你开始,可能就是你所需要的.
对于带有WPF的.NET 4及更高版本
您可以使用System.Windows.Shell.TaskbarItemInfo.例如,在主窗口的Xaml中,您需要添加:
<Window.TaskbarItemInfo>
    <TaskbarItemInfo x:Name="taskBarItemInfo" />
</Window.TaskbarItemInfo>
然后要更新进度,您可以执行以下操作:
taskBarItemInfo.ProgressState = TaskbarItemProgressState.Normal;
for (int i = 0; i < 100; i++)
{
    taskBarItemInfo.ProgressValue = i / 100.0;
    Thread.Sleep(50); // whatever the 'work' really is
}
taskBarItemInfo.ProgressState = TaskbarItemProgressState.None;
不要忘记,如果你在后台线程上做"工作"(对于长时间运行的任务可能是一个好主意),你需要切换回UI线程来更新任务栏.
| 归档时间: | 
 | 
| 查看次数: | 14500 次 | 
| 最近记录: |