zoukankan      html  css  js  c++  java
  • Winform中使用进度条的一个例子

    因为在winform程序中,UI线程负责界面相关的工作。

    Winform中使用进度条的方法有很多,可以直接创建一个新的线程Thread执行耗时的方法;也可以使用线程池。

    例如:

    //使用线程池异步执行longTime方法,不阻塞UI线程
    System.Threading.ThreadPool.QueueUserWorkItem(_ =>
    {
        DoSomething();
    }

    如果想使用进度条,可以模拟进度操作,在一个循环内,

    //使用线程池异步执行longTime方法,不阻塞UI线程
    System.Threading.ThreadPool.QueueUserWorkItem(_ =>
    {
        DoSomething();
        //模拟更新进度条
        UpdateProgress(total, i);
    }
    
    /// <summary>
    /// 模拟更新进度条
    /// </summary>
    /// <param name="total">总进度</param>
    /// <param name="value">当前进度</param>
    private void UpdateProgress(int total, int value)
    {
        this.BeginInvoke(new Action(() =>
        {
            this.progressBar1.Minimum = 0;
            this.progressBar1.Maximum = total;
            this.progressBar1.Value = value;
        }));
    }
  • 相关阅读:
    PTA——List Leaves
    pta——电话聊天狂人(c二叉树实现)
    Anti-SG游戏 与 SJ定理笔记(反Nim博弈)
    Unicode代码点与代码单元
    奇偶校验位
    IPv6与IPv4的位数
    0- win10配置java环境变量问题
    小计划
    路径问题
    getResource(path)的注意事项
  • 原文地址:https://www.cnblogs.com/fanyong/p/3059080.html
Copyright © 2011-2022 走看看