我有一个包含大量数据行的大型文本文件.在我的应用程序中,我打开此文件,通过匹配正则表达式读取每一行并在Datagridview中显示它.生成的总行数约为2000(有时甚至更多,非常巨大).
因此,对于所有这些操作,需要相当长的时间.所以我使用后台工作程序将此代码移动到另一个线程中,一切都很好,除了我想在我失败的进度条中显示加载状态.
我使用FileInfo类来获取文件长度,然后将此值赋给Progressbar.Maximum.似乎不是正确的方法,因为包含“3”行的测试文件返回的文件长度为“305”.我不明白我应该采用这种方式的步数间隔.
代码示例:
FileInfo ff = new FileInfo(openFileDialog1.FileName); int fsize= Convert.ToInt32(ff.Length); int val=1; pgbar_load.Invoke(new MethodInvoker(delegate { pgbar_load.Maximum = fsize; }));
并在循环中:
++val; wk.ReportProgress(val);
然后:
private void bgwrkr_load_ProgressChanged(object sender,ProgressChangedEventArgs e) { pgbar_load.Value = e.Progresspercentage; }
所以我要找的两件事:
>设置进度条的最大值.
>正确设置步骤索引.
请建议我前进的方法.
解决方法
原文地址:https://www.jb51.cc/csharp/244428.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。