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;
    }
    }

    至少证明我们还活着
  • 相关阅读:
    R语言数据集合
    转:EXCEL中如何获取从某一字符开始到最右边字符串
    转:EXCEL打乱顺序
    转:excel中怎样做柱状图
    转:linux复制/剪切文件到另一个文件夹
    转:Linux常用命令
    转:怎么在一张PPT里设置很多步骤出现的内容呀
    禅道分析
    转:BUG的严重级别分类 BUG状态标准
    转:Bug的严重等级和优先级
  • 原文地址:https://www.cnblogs.com/pengde/p/5995523.html
Copyright © 2011-2022 走看看