locked
FAQs: 在Windows7的任务栏中,怎样为我的程序显示进度条? RRS feed

  • 问题

  • 为了帮助大家更好地学习 .Net Framework 技术,微软论坛技术支持团队编辑了一些列的 ".Net Framework 常见问题及解答" 精华帖。

    本帖的主题是:在Windows7的任务栏中,怎样为我的程序显示进度条?

    如果您觉得这个帖子对您的学习、工作有所帮助,请再把这个帖子分享给你的同学、同事和朋友。

    如果您想阅读更多的 ".Net Framework 常见问题及解答",请打开索引页面:
    http://social.msdn.microsoft.com/Forums/zh-CN/2212/thread/f2a90155-c760-4d5d-ba2e-6b0e427cb6eb


    如果您对我们的论坛在线支持服务有任何的意见或建议,请通过邮件告诉我们。
    2011年2月15日 11:55

答案

  • 你可以使用Microsoft Windows API中的TaskbarManager类来实现这个功能。通过SetProgressState方法和SetProgressValue方法修改任务栏进度条的状态值。这里有几个状态值可以被应用程序使用,例如IndeterminatePausedError Normal

    例如:

    // Set the Taskbar button Progress Bar state
    // TaskbarManager.SetProgressState(TaskbarProgressBarState state)
    TaskbarManager.Instance.SetProgressState(TaskbarProgressBarState.Paused);

     

    // Set the Taskbar button Progress Bar value
    // TaskbarManager.SetProgressValue(intcurrentValue, intmaximumValue)
    TaskbarManager.Instance.SetProgressValue(progressBar.Value, MAX_PROGRESSBAR_VALUE);

    注意:在你使用这个功能之前,需要检查现在使用的Windows是否支持此功能。

    if (!TaskbarManager.IsPlatformSupported)
    {
    // If current system doesnt support this, do something else.
    }

    All-In-One Code Framework中,有两个例子“CSWin7TaskbarOverlaycons”和“VBWin7TaskbarOverlaycons”展示如何实现这样的功能的,

    你可以下载这些例子:

    http://1code.codeplex.com/releases/view/41170

    相关帖子:

    Windows API Code Pack for the Microsoft .NET Framework

     

    http://msdn.microsoft.com/en-us/magazine/dd942846.aspx#id0420051


    如果您对我们的论坛在线支持服务有任何的意见或建议,请通过邮件告诉我们。
    2011年2月15日 11:56