编程语言
首页 > 编程语言> > 如何使用Winform C#4.5在任务栏中显示进度

如何使用Winform C#4.5在任务栏中显示进度

作者:互联网

编辑:我不希望它更新,更改或消失.我只希望任务栏达到40%才能启动程序,保持这种状态直到它关闭.

我花了很多时间尝试了许多例子……但没有运气.

为了简单起见,如何在Error颜色中显示40%?

此代码运行但在屏幕上不执行任何操作,没有错误,只需运行:

public TaskbarItemInfo taskBar = new TaskbarItemInfo();

那么在一个方法中:

taskBar.ProgressState = System.Windows.Shell.TaskbarItemProgressState.Error;
taskBar.ProgressValue = 0.40;

如果您在下一行断点并查看,它已设置值,它们只是不在屏幕上执行任何操作…

解决方法:

这是一个简短的例子,您应该可以根据自己的需要进行定制:

    System.Windows.Window w = new System.Windows.Window();
    w.TaskbarItemInfo = new System.Windows.Shell.TaskbarItemInfo() { ProgressState = System.Windows.Shell.TaskbarItemProgressState.Normal };
    w.Loaded += delegate {
        Action<Object> callUpdateProgress = (o) => {
            w.TaskbarItemInfo.ProgressValue = (double) o;
        };

        Thread t = new Thread(() => {
            for (int i = 1; i <= 10; i++) {
                w.Dispatcher.BeginInvoke(callUpdateProgress, 1.0 * i / 10);
                Thread.Sleep(1000);
            }
        });
        t.Start();
    };

    System.Windows.Application app = new System.Windows.Application();
    app.Run(w);

标签:c,winforms,taskbar
来源: https://codeday.me/bug/20190612/1223464.html