在用c#做WinFrom开发的过程中。我们经常需要用到进度条(ProgressBar)用于显示进度信息。这时候我们可能就需要用到多线程,如果不采用多线程控制进度条,窗口很容易假死(无法适时看到进度信息)。下面我就简单结合一个我写的例子给大家做一个介绍。
第一步:设计界面不说了...注意需要引用 using System.Threading;
第二步:定义一个代理,用于更新ProgressBar的值(Value)
//更新进度列表
private delegate void SetPos(int ipos);
第三步:进度条值更新函数(参数必须跟声明的代理参数一样)
private void SetTextMessage(int ipos)
{
if (this.InvokeRequired)
{
SetPos setpos = new SetPos(SetTextMessage);
this.Invoke(setpos, newobject[] { ipos});
}
else
{
this.label1.Text = ipos.ToString() + "/100";
this.progressBar1.Value = Convert.ToInt32(ipos);
}
}
第四步:函数实现
privatevoid button1_Click(object sender, EventArgs e)
{
Thread fThrea
转:C#winform使用进度条
最新推荐文章于 2024-07-02 10:00:16 发布
本文介绍了如何在C# WinForm应用中使用多线程来控制进度条,避免窗口假死并实时显示进度信息。通过定义代理、更新进度条值的函数、按钮点击事件开启新线程以及新线程执行函数,详细阐述了进度条的更新过程。同时提到了浮动进度条的实现,包括增加进度的方法和显示进度的窗口操作。
摘要由CSDN通过智能技术生成