我想知道如何完成以下任务:
我想在最小化窗口的同时在任务栏上显示进度条的进度。有关视觉描述,请参见此处。
看看任务栏上的图标是如何随着窗口中的主进度条逐渐变为绿色的?
有人能告诉我怎么做吗?
更新:
我下载了windowsapi代码包,并在我的项目中引用了它,并编写了以下代码,但当我运行我的应用程序时,没有发生任何事情,增加pbar并最小化:
private void updatepbar()
{
tpb.Value = progressBar1.Value;
}
timer1.Tick += new EventHandler(delegate { updatepbar(); });
timer1.Interval = 1000;
timer1.Start();
我做错了什么?感谢
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;
它只适用于Windows7,您可以轻松使用Microsoft Api。
在WindowsTeamBlog和MSDN上用一个很好的例子进行了解释。
您可以在主窗体中使用标准进度条-Windows 7会自动检测到它并在任务栏上模拟它:
发件人http://windowsteamblog.com/windows/b/developers/archive/2009/07/28/windows-7-taskbar-dynamic-overlay-icons-and-progress-bars.aspx:
如果您已经在应用程序顶部使用了标准进度条级别窗口,DMW将拾取它,并在默认情况下显示其进度作为应用程序顶部的覆盖。但是,您可以以编程方式控制应用程序的图标。