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

 

 

转载于:https://www.cnblogs.com/fanyong/archive/2013/05/04/3059080.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值