C#的进度条

来源:互联网 发布:python 洪强宁 编辑:程序博客网 时间:2024/05/11 01:59

 C#进度条的使用及开发的情况是什么呢?

    在用c#做WinFrom开发的过程中。我们经常需要用到进度条(ProgressBar)用于显示进度信息。这时候我们可能就需要用到多线程,如果不采用多线程控制进度条,窗口很容易假死(无法适时看到进度信息)。下面我就简单结合一个我写的例子给大家做一个介绍。

    C#进度条的使用及开发第一步:

    设计界面不说了...注意需要引用

  1. using System.Threading; 

    C#进度条的使用及开发第二步:

    定义一个代理,用于更新ProgressBar的值(Value)

  1. //更新进度列表   
  2. private delegate void SetPos(int ipos);   

    C#进度条的使用及开发第三步:

    进度条值更新函数(参数必须跟声明的代理参数一样)

  1. private void SetTextMessage(int ipos)   
  2. {   
  3.     if (this.InvokeRequired)   
  4.     {   
  5. SetPos setpos = new SetPos(SetTextMessage);   
  6. this.Invoke(setpos, new object[] { ipos});   
  7.     }   
  8.     else   
  9.     {   
  10. this.label1.Text = ipos.ToString() + "/100";   
  11. this.progressBar1.Value = Convert.ToInt32(ipos);   
  12.     }   
  13. }  

    C#进度条的使用及开发第四步:

    C#进度条的使用及开发函数实现

  1. private void button1_Click(object sender, EventArgs e)   
  2. {   
  3.     Thread fThread = new Thread(  
  4.  
  5.      new ThreadStart(SleepT));  
  6.  
  7. //开辟一个新的线程   
  8.     fThread.Start();   
  9. }  

    C#进度条的使用及开发第五步:

    C#进度条的使用及开发新的线程执行函数:

  1. private void SleepT()   
  2. {   
  3.     for (int i = 0; i < 500; i++)   
  4.     {   
  5. System.Threading.Thread.Sleep(100);  
  6.  
  7. //没什么意思,单纯的执行延时   
  8. SetTextMessage(100 * i / 500);   
  9.     }   
  10. }  

    到此一个简单的进度条程序做好了。

    C#进度条的使用及开发的基本情况就向你介绍到这里,希望对你了解和学习C#进度条的使用及开发有所帮助。




原创粉丝点击