zoukankan      html  css  js  c++  java
  • wpf 进度条

    ------------------进度条问题---------
    public partial class MainWindow : Window
    {
    public MainWindow()
    {
    InitializeComponent();
    Loaded += new RoutedEventHandler(MainWindow_Loaded);
    }

    void MainWindow_Loaded(object sender, RoutedEventArgs e)
    { //BackgroundWorker,在单独的线程上执行操作
    BackgroundWorker worker = new BackgroundWorker();

    //BW.DoWork,调用BW.RunWorkerAsync()时发生

    //初始化命名委托;Lambda 运算符的左边是输入参数(如果有),右边包含表达式或语句块;
    worker.DoWork += (s,ev) =>
    {
    for (int i = 0; i < 100; i += 10)
    {
    Thread.Sleep(1000);

    //BW.ReportProgress,引发BW.ProgressChanged事件
    ((BackgroundWorker)s).ReportProgress(i);
    }
    };
    //调用BW.ReportProgress时发生
    worker.ProgressChanged += new ProgressChangedEventHandler(worker_ProgressChanged);

    //当后台操作已完成,被取消或引发异常时发生
    worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted);

    //BackgroundWorker.WorkerReportsProgress 获取或设置一个值,该值指示 BackgroundWorker 能否报告进度更新。
    worker.WorkerReportsProgress = true;

    //TaskbarItemInfo获取或设置 System.Windows.Window 的任务栏缩略图。
    //TaskbarItemInfo.ProgressState 获取或设置一个值,该值指示在任务栏按钮中显示进度指示器的方式。

    //TaskbarItemInfo.ProgressState = TaskbarItemProgressState.Indeterminate;

    //TaskbarItemProgressState枚举值
    //None=0,Indeterminate=1(闪烁绿色),Normal=2(绿色),Error=3(红色),Paused=4(黄色)
    //开始执行后台操作
    worker.RunWorkerAsync();

    }


    void worker_ProgressChanged(object sender, ProgressChangedEventArgs e)
    {
    //ProgressChangedEventArgs.ProgressPercentage 获取异步任务的进度百分比
    ProgressBar.Value = e.ProgressPercentage;

    // double TaskbarItemInfo.ProgressValue获取或设置一个值,该值指示任务栏按钮中进度指示器的填满状态。
    //TaskbarItemInfo.ProgressValue = (double)e.ProgressPercentage / 100;
    }

    void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
    {
    ProgressBar.Value = 100;
    MessageBox.Show("操作完成");
    //TaskbarItemInfo.ProgressValue = 1.0;
    }
    }

    至少证明我们还活着
  • 相关阅读:
    [CF1028D] Order book
    初入python,与同学者的第一次见面(小激动)
    jira与mysql的配合搭建调整
    linux内置的审计跟踪工具------last和lastb
    rman
    nginx和apache的一些比较
    NYOJ128前缀式计算
    NYOJ2括号配对问题
    大数加减乘以及高精度幂
    在不同的页面之间通过查询字符串传递信息
  • 原文地址:https://www.cnblogs.com/pengde/p/5995523.html
Copyright © 2011-2022 走看看