现有一文件TXT格式,文件的数据是表格的形式存储(如:姓名\t 年龄\t 家庭地址)
使用StreamReader.ReadLine()方法每次读取一行数据,如果使用次方法读文件该怎么加进度条。
望高手指点。
谢谢
使用StreamReader.ReadLine()方法每次读取一行数据,如果使用次方法读文件该怎么加进度条。
望高手指点。
谢谢
解决方案 »
- C#基础学习
- ??请问如何写代码实现如下界面的 [房态表] 应如何写程序啊??
- 高手求教execel问题
- 英文OS环境下,ASP.net调用COM,中文全部为乱码,但在同一台机器上asp读是正常的,有没有人帮忙解决下?
- [★★★] VS2005[C#] TreeView 控件 ?/ 谁能给我一个答案
- 关于2005的问题
- byte 转换为 char ?
- 请问在WIN2003下怎么跳过组件更新,直接安装vs.net
- 多层父-子数据显示
- 急!!C#引用C++委托错误,委托被回收问题
- 请大家介绍下在winform中,有些什么方法可以数据转换成字节数组?[说的多分就多]
- DataGrid,如何删除整行数据呢 在线等~~~~
void ReadFile()
{
..
StreamReader.ReadLine();
ShowProgressBar();
...
}void ShowProgressBar()
{
// Update bar UI
}
需要后台处理,前端显示进度?当然可以.
1. ReadFile方法必须由另外一个线程执行。
2. ShowProgressBar更新界面时,必须用窗体的BeginInvoke或者Invoke,让界面线程负责更新。
backgroundWorker1.RunWorkerAsync();2.在操作中定义
private void doread(BackgroundWorker worker, DoWorkEventArgs e)
{
//...自己的代码
for (int i = 0 ; i <=100;i++)
{
//...自己的代码
int percentComplete = i;// 这里可以根据循环设定 进度条的百分比
highestPercentageReached = percentComplete;
worker.ReportProgress(percentComplete);
//...自己的代码
}
}3个事件
1.
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
BackgroundWorker worker = sender as BackgroundWorker;
e.Result = doread(worker, e);
}2.
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
//progressBar取值
this.pgbar_Export.Value = e.ProgressPercentage;
}3.
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if (e.Error != null)
{
MessageBox.Show(e.Error.Message);
}
else if (e.Cancelled)
{
MessageBox.Show("Canceled");
}
else
{
// Finally, handle the case where the operation
// succeeded.
this.Close();
} }