我有一个winform在第二个线程中读取一个csv文件并将文件数据写入控制台。主窗体有一个进度条。我希望根据第二个线程中读取的数据行更新主窗体上的进度条。在我使用的第二个线程函数中:C#跨线程调用来更新进度条
pBar.BeginInvoke((MethodInvoker)delegate
{
this.pBar.Value = (int) (((double) nRows)/((double) fileLines));
});
不用说这似乎不起作用。任何建议将不胜感激。另外,我应该在第二个线程中使用pBar.Show()和pBar.Hide()或设置pBar.Visible来显示/隐藏进度条吗?
谢谢。
呃,你怎么知道文件中的行数?这通常是鸡与鸡蛋的问题。 –
我使用:int fileLines = System.IO.File.ReadAllLines(fd.FileName).Length; – Zeos6
因此,你阅读文件的全部内容,然后在重新阅读它们之前将它们扔掉?! –