我有一个名称空间扩展名,当用户执行某些操作时,我们会在一个单独的窗口中显示一个进度条(理想情况下,我们应该使用地址栏中的Windows资源管理器内置进度指示器,但我被告知有没有'来自我的组件供应商的API)。我使用Windows Code Pack 1.1来获取.NET API。
此进度窗口是常规Windows窗体窗口。我已经包含以下代码:
...
using System.Windows.Forms;
using Microsoft.WindowsAPICodePack.Taskbar;
...
public sealed partial class ProgressWindow : Form, IProgressPresenter
{
...
public int ProgressLevel
{
get { return JobProgress.Value; }
set
{
JobProgress.Value = value;
if (TaskbarManager.IsPlatformSupported)
{
TaskbarManager.Instance.SetProgressValue(value, 99);
}
}
}
...
我希望Explorer图标显示进度,但这不会发生。我试图添加 Handle 属性作为参数,但这似乎没有帮助。
答案 0 :(得分:0)
你设置了状态吗?
TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.Error);
那会让你变红。暂停为黄色,正常为绿色。
答案 1 :(得分:0)
(理想情况下,我们应该使用Windows Explorer内置进度指示器 在地址栏,但我被告知 我没有那个API 组件供应商)
如果它是一个名称空间扩展你应该使用IProgressDialog接口,它内置于资源管理器中,而且nativity支持Windows 7上的任务栏进度指示器。
http://www.codeproject.com/KB/dotnet/winprogressdialog.aspx
http://www.codeproject.com/KB/shell/iprogressdialognet.aspx
dmex