응용 프로그램이 아무런 오류없이 종료되고 VS가 열렸습니다. FileSystemWatchers
을 동적으로 여러 개 생성했습니다. 모두 "생성됨"이벤트에 이벤트 핸들러가 있습니다. 그래서이 이벤트 핸들러 방법은 다음과 같습니다 : 프로그램이 종료되지VS2010에서 실행하면 애플리케이션이 닫히기 만합니다 (오류 또는 오류 없음)
void watcher_FileCreated(object sender, FileSystemEventArgs e)
{
FileInfo f1 = new FileInfo(e.FullPath);
filesDataGrid.Rows.Add(f1.Name);
foreach (TLPclass table in parameterForm.getParameters)
{
//uses some funcion form another class
}
}
라인은 내가 DataGridView - filesDataGrid.Rows.Add(f1.Name);
에 파일 이름을 추가하고있어 하나 또한 그 선없이 확인을 실행합니다. 이상한 것은 프로젝트 폴더의 .exe 파일에서 시작될 때 응용 프로그램이 정상적으로 실행된다는 것입니다. 내 코드에서 오류를 볼 수는 없지만 오류 메시지가 표시되지 않으면 오류가있는 것으로 생각됩니다. 그리고 프로그램이 경고없이 종료 될 수있는 가장 일반적인 이유는 무엇입니까?
고마워요 - 그건 크로스 스레드 오류를 설명합니다. 하지만 어떻게 든 eventhandler 메서드 내에서 테이블을 업데이트 할 수 있습니까? – andree
@andree - 예제를 참조하십시오. 업데이트하려면 GUI 스레드로 다시 호출해야합니다. – SwDevMan81
이것은 효과가 있습니다. 더 나은 이해를 위해 "Invoke"메소드를 점검해야합니다. – andree