亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

【Winform】使用BackgroundWorker控制進度條顯示進度

2019-11-14 14:02:27
字體:
來源:轉載
供稿:網友

許多開發者看見一些軟件有進度條顯示進度,自己想弄,項目建好后發現并沒有自己想象中的那么簡單。。??戳司W上很多教程后,寫了一個小Demo供網友們參考~~,Demo的網址:http://pan.baidu.com/s/1dDIxHvz

BackgroundWorker可以在代碼中創建,也可以在工具箱中拖,但如果要使用,必須將其的WorkerReportsPRogress屬性設置為True!

這個Demo是一個復制文件的,為了效果更明顯,建議復制的文件多一點,方便進度條顯示。

界面如下:

下面是全部代碼:

 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.IO; 7 using System.Linq; 8 using System.Text; 9 using System.Threading.Tasks;10 using System.Windows.Forms;11 12 namespace Demo_ProgressBar13 {14      public partial class Form1 : Form15      {16           public Form1()17           {18                InitializeComponent();19           }20 21           string[] fileNames = null;//存儲文件路徑22           string savePath = null;//存儲保存路徑23 24           private void btnChooseFiles_Click(object sender, EventArgs e)//添加文件到listBox25           {26                OpenFileDialog o = new OpenFileDialog();//打開文件對話框的對象27                o.Multiselect = true;//文件可以多選28                o.ShowDialog();29                if (o.FileNames == null)//如果沒有選擇文件30                {31                     return;32                }33                else34                {35                     fileNames = o.FileNames;36                     for (int i = 0; i < fileNames.Length; i++)37                     {38                          if (!lstbxShowFiles.Items.Contains(fileNames[i]))//如果列表中不包含元素才添加39                          {40                               lstbxShowFiles.Items.Add(fileNames[i]);41                          }42                     }43                }44           }45 46           private void btnChooseSavePath_Click(object sender, EventArgs e)//選擇保存路徑47           {48                FolderBrowserDialog f = new FolderBrowserDialog();//選擇路徑49                f.ShowDialog();50                if (f.SelectedPath == null)51                {52                     return;53                }54                else55                {56                     txtSavePath.Text = savePath = f.SelectedPath;57                }58           }59 60           private void btnStart_Click(object sender, EventArgs e)//開始復制61           {62                prgrsbr1.Maximum = lstbxShowFiles.Items.Count;//讓進度條的最大值等于列表中要復制的文件的數目63                for (int i = 0; i < lstbxShowFiles.Items.Count; i++)64                {65                     using (FileStream fsRead = new FileStream(fileNames[i], FileMode.OpenOrCreate, Fileaccess.Read))//讀取文件流66                     {67                          using (FileStream fsWrite = new FileStream(savePath + "//" + Path.GetFileName(fileNames[i]), FileMode.OpenOrCreate, FileAccess.Write))//寫入文件流68                          {69                               byte[] buffer = new byte[1];70                               while (fsRead.Read(buffer, 0, buffer.Length) != 0)//返回值為零表示讀完71                               {72                                    fsWrite.Write(buffer, 0, buffer.Length);73                               }74                          }75                     }76                     bckgrdwkrReport.ReportProgress(i + 1);//報告進度,觸發ProgressChanged事件77                }78                prgrsbr1.Value = 0;79                MessageBox.Show("復制成功");80                lstbxShowFiles.Items.Clear();81                txtSavePath.Clear();82                fileNames = null;83                savePath = null;84           }85 86           private void bckgrdwkrReport_ProgressChanged(object sender, ProgressChangedEventArgs e)87           {88                prgrsbr1.Value = e.ProgressPercentage;//e.ProgressPercentage:ReportProgress方法傳遞的參數89           }90      }91 }

主要用到BackgroundWorker是在第60行的方法。(不知道前兩個方法的自行百度。。。不知using()和FileStream的自行百度)

 

在62行,我們讓進度條的最大值等于列表中要復制的文件的數目,這樣每復制完一個文件就在76行用ReportProgress方法報告進度并觸發BackgroundWorker的ProgressChanged事件,通過事件的參數e.ProgressPercentage可以獲取ReportProgress方法中的參數。

 

當然,BackgroundWorker還有其他的方法和事件,可以自己去嘗試,但一般只用到ReportProgress方法和ProgressChanged事件。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av在线高清| 亚洲亚裔videos黑人hd| 国产精品视频26uuu| 日本高清久久天堂| 欧美另类精品xxxx孕妇| 欧美精品在线观看| 这里精品视频免费| 国产一区二区三区在线视频| 成人做爰www免费看视频网站| 日本视频久久久| 欧美风情在线观看| 日韩av片电影专区| 欧美成人高清视频| 精品自拍视频在线观看| 国产精品久久久久久久一区探花| 久久久亚洲国产天美传媒修理工| 国产精品久久久一区| 国产精品久久久久久久久久久新郎| 热久久免费国产视频| 亚洲一区二区三区xxx视频| 亚洲视频999| 欧美激情videos| 日韩电视剧免费观看网站| 久久免费视频网站| 欧美福利小视频| 日本中文字幕成人| 久久99久久99精品免观看粉嫩| 亚洲在线免费观看| 欧美另类极品videosbest最新版本| 91九色视频导航| 亚洲精品国产精品国产自| 在线丨暗呦小u女国产精品| 国产在线观看不卡| 国产伦精品一区二区三区精品视频| 欧美专区在线视频| 欧美另类极品videosbest最新版本| 日韩成人性视频| 色老头一区二区三区| 欧美xxxx做受欧美| 色系列之999| 亚洲人成在线观| 热re99久久精品国产66热| 亚洲欧美国产日韩天堂区| 亚洲最大成人网色| 亚洲999一在线观看www| 欧美性受xxxx黑人猛交| 高潮白浆女日韩av免费看| 欧美性色视频在线| 国产精品视频免费观看www| 精品国产精品三级精品av网址| 中文字幕欧美亚洲| 国语自产精品视频在免费| 午夜精品久久久久久久久久久久| 中文字幕欧美日韩精品| 色综合久久久久久中文网| 国产日本欧美一区二区三区| 欧美黑人狂野猛交老妇| 亚洲成人av片| 国产在线视频不卡| 亚洲精品wwww| 一本色道久久88精品综合| 夜色77av精品影院| 最近的2019中文字幕免费一页| 久久久久久久久网站| 九九视频这里只有精品| 久久在线免费观看视频| 亚洲男人天堂手机在线| 国产成人高清激情视频在线观看| 久久69精品久久久久久久电影好| 91a在线视频| 日韩在线免费视频| 性欧美长视频免费观看不卡| 日本伊人精品一区二区三区介绍| 911国产网站尤物在线观看| 国产精品久久999| 在线精品播放av| 91av视频在线免费观看| 国产精品久久久久久久久久小说| 国内精品在线一区| 国产视频精品自拍| 国产亚洲欧洲高清| 国产精品自拍网| 国产精品男人爽免费视频1| 91影院在线免费观看视频| 亚洲国产精品一区二区三区| 久久久国产一区二区三区| 欧美成人免费va影院高清| 欧美成人高清视频| 色一区av在线| 久久精品国产一区二区三区| 亚洲欧洲在线看| 疯狂做受xxxx高潮欧美日本| 日韩av在线免费看| 91产国在线观看动作片喷水| 久久久欧美精品| 久久久综合av| 亚洲伦理中文字幕| 91国产美女视频| 这里只有精品视频| 亚洲影视九九影院在线观看| 国产v综合v亚洲欧美久久| 亚洲一二在线观看| 欧美日韩亚洲成人| 久久久久久久国产精品| 欧美裸体xxxx极品少妇软件| 日韩av在线播放资源| 亚洲黄色av网站| 国内精品久久久久影院 日本资源| 欧美日韩国产限制| 中文.日本.精品| 国产亚洲精品久久久久久| 欧美一级视频在线观看| 国产精品亚洲аv天堂网| 日韩av影视综合网| 久久精品国产v日韩v亚洲| 久久视频这里只有精品| 欧美精品免费播放| 国自产精品手机在线观看视频| 亚洲欧美另类中文字幕| 色综合天天狠天天透天天伊人| 欧美一级黄色网| 欧美成人剧情片在线观看| 亚洲午夜精品久久久久久久久久久久| 欧美亚洲伦理www| 久久久久久美女| 97人人模人人爽人人喊中文字| 亚洲精品一区二区久| 亚洲国产精品悠悠久久琪琪| 日韩av日韩在线观看| 国产97在线观看| 亚洲成人精品视频在线观看| 欧美日韩国产成人在线| 伦伦影院午夜日韩欧美限制| 欧美日韩美女视频| 久久精品2019中文字幕| 亚洲精品久久久久久久久久久| 欧美日韩国产精品一区二区三区四区| 欧美电影在线观看完整版| 91精品在线国产| 亚洲人成网站免费播放| 久久精彩免费视频| 日韩av大片免费看| 国产精品一区二区三区免费视频| 亚洲性线免费观看视频成熟| 国产美女91呻吟求| 欧美黑人一区二区三区| 久久精品视频播放| 国产成人精品网站| 午夜精品久久久久久久99热| 久热精品视频在线免费观看| 亚洲国产另类久久精品| 欧美丝袜一区二区三区| 91精品国产91久久久| www欧美日韩| 91精品国产综合久久久久久久久| 午夜精品99久久免费| 色综合影院在线| 亚洲欧美激情另类校园| 91精品视频专区| 精品在线观看国产| 亚洲精品视频网上网址在线观看| 久久成人精品电影| 亚洲嫩模很污视频| 中文日韩在线观看|