資源簡(jiǎn)介
C# ToolStripProgressBar Thread 線程操作

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Text;
using?System.Windows.Forms;
using?System.IO;
using?System.Threading;
namespace?OperaControsInThreads
{
????public?partial?class?FormMain?:?Form
????{
????????private?string?sourceDir;
????????private?string?targetDir;
????????private?int?iFileCount;
????????public?delegate?void?ReportProcessInfo(string?Info?int?iPercent);?//實(shí)現(xiàn)BackgroundWorker的ProgressChanged事件
????????public?delegate?void?DoneAfterCompleted(string?Info);??????????????////實(shí)現(xiàn)BackgroundWorker的RunWorkerCompleted事件
????????ReportProcessInfo?CopyOneFileIsOK;
????????DoneAfterCompleted?CopyFilesIsCompleted;
????????//更新Listview和ProgressBar
????????private?void?UpdateInfoToUser(string?infoint?percent)
????????{
????????????if?(InvokeRequired)
????????????????Invoke(new?ReportProcessInfo(UpdateInfoToUser)?info?percent);
????????????else
????????????{
????????????????lvOutput.Items.Add(new?ListViewItem(new?string[]?{?System.DateTime.Now.ToLongTimeString()?info?})).EnsureVisible();
????????????????tssbProcess.Value?=?percent;
????????????}
???????????????
????????}
????????//清空源目錄和目標(biāo)目錄信息,顯示拷貝文件數(shù)
????????private?void?ShowUserFilesCountInfo(string?info)
????????{
????????????if?(InvokeRequired)
????????????????Invoke(new?DoneAfterCompleted(ShowUserFilesCountInfo)?info);
????????????else
????????????{????????????????
????????????????tbSource.Text?=?string.Empty;
????????????????tbTargetDir.Text?=?string.Empty;
????????????????MessageBox.Show(info);?????????????
????????????}
????????????
????????}
????????public?FormMain()
????????{
????????????InitializeComponent();
????????????//加入委托方法
????????????CopyOneFileIsOK?=?new?ReportProcessInfo(UpdateInfoToUser);
????????????CopyFilesIsCompleted?=?new?DoneAfterCompleted(ShowUserFilesCountInfo);
????????}
????????private?void?btnStart_Click(object?sender?EventArgs?e)
????????{
????????????sourceDir?=?tbSource.Text.Trim();
????????????targetDir?=?tbTargetDir.Text.Trim();
????????????if?(Directory.Exists(sourceDir))
????????????{????????????????
????????????????DirectoryInfo?di?=?new?DirectoryInfo(sourceDir);???????????????
????????????????iFileCount?=?di.GetFiles().Length;
????????????????if?(!Directory.Exists(targetDir))
????????????????????Directory.CreateDirectory(targetDir);
????????????????Thread?WorkThread?=?new?Thread(new?ParameterizedThreadStart(CopyFiles));
????????????????WorkThread.Start(di);
????????????}
????????????
????????}
????????private?int?GetPercent(float?iCurfloat?iTotal)
????????{
????????????return?(int)((iCur*100)/iTotal);
????????}
????????private?void?CopyFiles(object?SourceDir)
????????{
????????????DirectoryInfo?di?=?(DirectoryInfo)SourceDir;
????????????int?icur?=?0;
????????????foreach?(FileInfo?fi?in?di.GetFiles())
????????????{
????????????????icur++;
????????????????tsslInfo.Text?=?s
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????24576??2008-12-11?22:05??OperaControsInThreads\OperaControsInThreads\bin\Debug\OperaControsInThreads.exe
?????文件??????28160??2008-12-11?22:05??OperaControsInThreads\OperaControsInThreads\bin\Debug\OperaControsInThreads.pdb
?????文件???????5632??2005-12-08?14:51??OperaControsInThreads\OperaControsInThreads\bin\Debug\OperaControsInThreads.vshost.exe
?????文件???????3374??2008-12-11?22:17??OperaControsInThreads\OperaControsInThreads\Form1.cs
?????文件???????7596??2008-12-11?21:41??OperaControsInThreads\OperaControsInThreads\Form1.Designer.cs
?????文件???????6008??2008-12-11?21:41??OperaControsInThreads\OperaControsInThreads\Form1.resx
?????文件????????842??2008-12-11?21:41??OperaControsInThreads\OperaControsInThreads\obj\Debug\OperaControsInThreads.csproj.GenerateResource.Cache
?????文件??????24576??2008-12-11?22:05??OperaControsInThreads\OperaControsInThreads\obj\Debug\OperaControsInThreads.exe
?????文件????????180??2008-12-11?21:41??OperaControsInThreads\OperaControsInThreads\obj\Debug\OperaControsInThreads.FormMain.resources
?????文件??????28160??2008-12-11?22:05??OperaControsInThreads\OperaControsInThreads\obj\Debug\OperaControsInThreads.pdb
?????文件????????180??2008-12-10?15:00??OperaControsInThreads\OperaControsInThreads\obj\Debug\OperaControsInThreads.Properties.Resources.resources
?????文件????????369??2008-12-11?22:07??OperaControsInThreads\OperaControsInThreads\obj\OperaControsInThreads.csproj.FileList.txt
?????文件???????3249??2008-12-10?15:00??OperaControsInThreads\OperaControsInThreads\OperaControsInThreads.csproj
?????文件????????483??2008-12-10?14:18??OperaControsInThreads\OperaControsInThreads\Program.cs
?????文件???????1198??2008-12-10?14:10??OperaControsInThreads\OperaControsInThreads\Properties\AssemblyInfo.cs
?????文件???????2897??2008-12-10?14:10??OperaControsInThreads\OperaControsInThreads\Properties\Resources.Designer.cs
?????文件???????5612??2008-12-10?14:10??OperaControsInThreads\OperaControsInThreads\Properties\Resources.resx
?????文件???????1105??2008-12-10?14:10??OperaControsInThreads\OperaControsInThreads\Properties\Settings.Designer.cs
?????文件????????249??2008-12-10?14:10??OperaControsInThreads\OperaControsInThreads\Properties\Settings.settings
?????文件????????952??2008-12-10?14:10??OperaControsInThreads\OperaControsInThreads.sln
????..A..H.?????14848??2008-12-11?22:17??OperaControsInThreads\OperaControsInThreads.suo
?????目錄??????????0??2008-12-10?16:26??OperaControsInThreads\OperaControsInThreads\obj\Debug\Refactor
?????目錄??????????0??2008-12-10?16:26??OperaControsInThreads\OperaControsInThreads\obj\Debug\TempPE
?????目錄??????????0??2008-12-10?16:26??OperaControsInThreads\OperaControsInThreads\bin\Debug
?????目錄??????????0??2008-12-11?22:05??OperaControsInThreads\OperaControsInThreads\obj\Debug
?????目錄??????????0??2008-12-10?16:26??OperaControsInThreads\OperaControsInThreads\bin
?????目錄??????????0??2008-12-10?16:26??OperaControsInThreads\OperaControsInThreads\obj
?????目錄??????????0??2008-12-10?16:26??OperaControsInThreads\OperaControsInThreads\Properties
?????目錄??????????0??2008-12-11?22:17??OperaControsInThreads\OperaControsInThreads
?????目錄??????????0??2008-12-10?16:26??OperaControsInThreads
............此處省略3個(gè)文件信息
評(píng)論
共有 條評(píng)論