C# ProgressBar用法:模拟进度条
生活随笔
收集整理的這篇文章主要介紹了
C# ProgressBar用法:模拟进度条
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?在不考慮復雜情況下,我們可以采用不安全的線程調用,即允許子線程操作主線程里的控件狀態,在初始化的時候后,加上這么一句:
????就OK了。 =======================================================
????如果采用安全的線程調用,則可以采用委托?invoke?方法。
????????//模擬進度條
????????private?void?Send()
????????{
????????????int?i?=?0;
????????????while?(i?<=?100)
????????????{
????????????????//顯示進度信息
????????????????this.ShowPro(i);
????????????????i++;?//模擬發送多少
????????????????Thread.Sleep(100);
????????????}
????????????Thread.CurrentThread.Abort();
????????}
????????private?delegate?void?ProgressBarShow(int?i);
????????private?void?ShowPro(int?value)
????????{
????????????if?(this.InvokeRequired)
????????????{
????????????????this.Invoke(new?ProgressBarShow(ShowPro),?value);
????????????}
????????????else
????????????{
????????????????this.progressBar1.Value?=?value;
????????????????this.label1.Text?=?value?+?"%?Processing...";
????????????}
????????} ????????private?void?Form1_Load(object?sender,?EventArgs?e)
????????{
????????????Thread?thread?=?new?Thread(new?ThreadStart(Send));?//模擬進度條
????????????thread.IsBackground?=?true;
????????????thread.Start();??
????????}
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
?在不考慮復雜情況下,我們可以采用不安全的線程調用,即允許子線程操作主線程里的控件狀態,在初始化的時候后,加上這么一句:
Control.CheckForIllegalCrossThreadCalls?=?false;
//線程的不安全調用,允許線程直接調用主線程控件
????就OK了。 =======================================================????如果采用安全的線程調用,則可以采用委托?invoke?方法。
????????//模擬進度條
????????private?void?Send()
????????{
????????????int?i?=?0;
????????????while?(i?<=?100)
????????????{
????????????????//顯示進度信息
????????????????this.ShowPro(i);
????????????????i++;?//模擬發送多少
????????????????Thread.Sleep(100);
????????????}
????????????Thread.CurrentThread.Abort();
????????}
????????private?delegate?void?ProgressBarShow(int?i);
????????private?void?ShowPro(int?value)
????????{
????????????if?(this.InvokeRequired)
????????????{
????????????????this.Invoke(new?ProgressBarShow(ShowPro),?value);
????????????}
????????????else
????????????{
????????????????this.progressBar1.Value?=?value;
????????????????this.label1.Text?=?value?+?"%?Processing...";
????????????}
????????} ????????private?void?Form1_Load(object?sender,?EventArgs?e)
????????{
????????????Thread?thread?=?new?Thread(new?ThreadStart(Send));?//模擬進度條
????????????thread.IsBackground?=?true;
????????????thread.Start();??
????????}
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的C# ProgressBar用法:模拟进度条的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牛人学习h264运动估计的方法
- 下一篇: 什么是面试的关键?资深HR告诉你!