谁能提供一个C# 异步文件读写的显示进度条的实例 如题: 谁能提供一个C# 异步文件读写的显示进度条的实例。在做这个的时候遇到点小问题。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用 BackgroundWorker 控件做,什么都满足了,一点问题没有应该是吧 private void Form1_Load(object sender, EventArgs e) { DirectoryInfo dirInfo = new DirectoryInfo(@"C:\WINDOWS"); backgroundWorker1.RunWorkerAsync(dirInfo); } private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { DirectoryInfo dirInfo = e.Argument as DirectoryInfo; FileInfo[] fileArray =dirInfo.GetFiles(); int intTotalCount = fileArray.Length; int intFileRead = 0; foreach (FileInfo file in fileArray) { System.Threading.Thread.Sleep(10);//方面看到效果 intFileRead++; if(intFileRead<100)//这个暂时这样写。 backgroundWorker1.ReportProgress(intFileRead); } } private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) { progressBar1.Value = e.ProgressPercentage; } 到MSDN,或去官网下载该控件,好像MS提供了这种控件 用progressbar+backgroundworker实现 自己Google一下一大堆 string path = "D:\\TDDOWNLOAD\\AdobePhotoshopCS3.rar"; FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read); BinaryReader binaryreader = new BinaryReader(file); byte[] b = new byte[4098]; int data = 0; ; int bodylenght = (int)file.Length; int uoi = 0; this.progressBar1.Maximum = bodylenght; while ((data = binaryreader.Read(b, 0,4098)) != 0) //这个注意是将文件写成流的形式 { uoi = uoi + 4098; if (uoi >= bodylenght) this.progressBar1.Value = bodylenght; else this.progressBar1.Value = uoi; } this.label1.Text = uoi.ToString(); binaryreader.Close(); file.Close(); 程序退出释放串口资源 winform窗体界面子窗体或用户自定义控件载入想实现动画效果,如淡入淡出效果 请问,使用WebBrowser开发应用时,页面上会弹出次对话框框该怎么办? 如何在WIN2003终端里修改终端的刷新率. varchar为什么不能存这个?'2009-8-13 22:56:52' c# toString() C#数据绑定 TextBox的奇怪问题:不能判断为空? 求救 求救 关于拟合函数的如何使用 数据绑定问题 关于两表连接在一个gridview中显示的问题 绝对值函数(急)
{
DirectoryInfo dirInfo = new DirectoryInfo(@"C:\WINDOWS");
backgroundWorker1.RunWorkerAsync(dirInfo);
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
DirectoryInfo dirInfo = e.Argument as DirectoryInfo; FileInfo[] fileArray =dirInfo.GetFiles();
int intTotalCount = fileArray.Length;
int intFileRead = 0;
foreach (FileInfo file in fileArray)
{
System.Threading.Thread.Sleep(10);//方面看到效果
intFileRead++;
if(intFileRead<100)//这个暂时这样写。
backgroundWorker1.ReportProgress(intFileRead);
} } private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{ progressBar1.Value = e.ProgressPercentage;
}
string path = "D:\\TDDOWNLOAD\\AdobePhotoshopCS3.rar";
FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read);
BinaryReader binaryreader = new BinaryReader(file);
byte[] b = new byte[4098];
int data = 0; ;
int bodylenght = (int)file.Length;
int uoi = 0;
this.progressBar1.Maximum = bodylenght; while ((data = binaryreader.Read(b, 0,4098)) != 0) //这个注意是将文件写成流的形式
{
uoi = uoi + 4098;
if (uoi >= bodylenght)
this.progressBar1.Value = bodylenght;
else
this.progressBar1.Value = uoi;
}
this.label1.Text = uoi.ToString();
binaryreader.Close();
file.Close();