누군가이 모든 파일을 처리 한 이유를 설명 할 수 있습니까? 그게 날 미친 운전. 감사합니다For 루프가 두 번 실행됩니다.
private void HP3BackgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
BackgroundWorker hp3worker = (BackgroundWorker) sender;
DirectoryInfo hp3Files = new DirectoryInfo(fromPath + @"\hp3\");
FileInfo[] hp3Filelist = hp3Files.GetFiles("*.*");
int count = hp3Filelist.Length;
UseWaitCursor = true;
for (int i = 0; i < count; i++)
{
FileInfo file = hp3Filelist[i];
try
{
File.Copy(fromPath + @"\hp3\" + file.Name, toPath + @"\hp3\" + file.Name, true);
hp3worker.ReportProgress((int)((float) i/count * 100));
}
catch (Exception error)
{
MessageBox.Show("Error is " + error);
}
}
UseWaitCursor = false;
}
자세한 정보가 필요합니다. 두 번 실행하는 분명한 이유는 없습니다. DoWork 함수가 두 번 호출 되었습니까? –
이 코드가 FileSystemWatcher 이벤트에서 호출되면 아마도 두 번 호출됩니다. – idstam
아마도? 왜 먼저 확인하지 그래? 메소드가 두 번 호출되는지 여부를 모르는 경우 어떻게 도와야합니까? –