두 번째 스레드에서 csv 파일을 읽는 winform이 콘솔에 파일 데이터를 씁니다. 기본 양식에 진행률 표시 줄이 있습니다. 두 번째 스레드에서 읽은 데이터 행을 기반으로 기본 폼의 진행률 표시 줄을 업데이트하고 싶습니다. 내 두 번째 스레드 기능을 사용합니다 :C# 진행률 막대를 업데이트하기위한 크로스 스레드 호출
pBar.BeginInvoke((MethodInvoker)delegate
{
this.pBar.Value = (int) (((double) nRows)/((double) fileLines));
});
말할 필요도없이 작동하지 않는 것 같습니다. 모든 조언을 크게 주시면 감사하겠습니다.
제쳐두고, pBar.Show() 및 pBar.Hide()를 사용해야합니까, 아니면 두 번째 스레드에서 pBar.Visible을 설정하여 진행률 표시 줄을 표시하거나 숨길 수 있습니까?
감사합니다.
Erm, 파일의 줄 수는 어떻게 알 수 있습니까? 그것은 보통 닭고기와 달걀 문제입니다. –
다음을 사용합니다. int fileLines = System.IO.File.ReadAllLines (fd.FileName) .Length; – Zeos6
그래서 파일을 다시 읽으려면 파일의 전체 내용을 읽은 다음 버리십시오. –