3

我想知道如何完成以下任务:

我想在窗口最小化时在任务栏上显示进度条的进度。有关视觉描述,请参见此处

看看任务栏上的图标是如何随着窗口中的主进度条逐渐变成绿色的?

有人可以告诉我该怎么做吗?

更新:

我下载了windows api代码包并在我的项目中引用了它并编写了以下代码但是当我运行我的应用程序增加pbar并最小化时没有任何反应:

    private void updatepbar()
    { 
        tpb.Value = progressBar1.Value;
    }

        timer1.Tick += new EventHandler(delegate { updatepbar(); });
        timer1.Interval = 1000;
        timer1.Start();

我究竟做错了什么?多谢

4

3 回答 3

2

http://windowsteamblog.com/windows/b/developers/archive/2009/07/28/windows-7-taskbar-dynamic-overlay-icons-and-progress-bars.aspx

Taskbar.ProgressBar.State = 
(TaskbarButtonProgressState)Enum.Parse(
        typeof(TaskbarButtonProgressState), 
        (string)comboBoxProgressBarStates.SelectedItem);

if (Taskbar.ProgressBar.State != TaskbarButtonProgressState.Indeterminate)
   Taskbar.ProgressBar.CurrentValue = progressBar1.Value;
于 2012-01-18T11:13:39.153 回答
0

它仅适用于 Windows7,您可以轻松使用 Microsoft-Api。

在WindowsTeamBlogMSDN上用一个很好的例子进行了解释。

于 2012-01-18T11:08:46.453 回答
0

您可以在主窗体中使用标准进度条 - Windows 7 会检测到它并自动在任务栏上模仿它:

来自http://windowsteamblog.com/windows/b/developers/archive/2009/07/28/windows-7-taskbar-dynamic-overlay-icons-and-progress-bars.aspx

如果您已经在应用程序的顶级窗口中使用了标准进度条,DMW 将选择它,并且默认情况下,将其进度显示为应用程序顶部的叠加层。但是,您可以通过编程方式控制应用程序图标上的进度条行为。

于 2012-01-18T14:48:39.180 回答