배경 작업자에서 코드의 주요 부분을 실행할 수없는 이유로 백그라운드 작업자에서로드 대화 상자를 실행할 수 있지만 주 코드 부분 실행 후 대화 상자를 닫아야합니다. 나는 다음을 implimented했지만 나는 강제로 코드 실행 후 백그라운드 작업자를 닫 방법을 잘 모르겠어요 :Dialog in BackgroundWorker
LoaderWorker = new BackgroundWorker();
//Loading is the Form
Loading Loader = new Loading("Daten Exportieren");
LoaderWorker.DoWork += (s, args) =>
{
//Show Loading Dialog
Loader.Show();
};
ExecuteMainTasks();
//Here i need to stop the backgroundworker after the method above is complete.
배경 직원이에 대한 해결책이 아니면 난을 보장하기 위해 다른 방법을 사용해야합니다 로더의 UI 스레드를 잠그지 마십시오. 기억해라. 나는 backgroundworker에서 주 코드를 실행할 수 없으므로 이것을 다소 뒤로 관리해야한다.
감사합니다.
감사합니다 Yeoman하지만 C# 6을 사용 중이며 Dispatcher.BeginInvoke 또는 관련 어셈블리에 대한 참조를 찾을 수 없습니다. 혹시 이것이 함축 된 방법에 대한 간단한 예를 들으십니까? 배경 작업자의 형태로 애니메이션 GIF를 실행하고 배경 작업자의 복잡한 작업을 수행 한 후 배경 작업자를 닫으려고합니다. 매우 후진하지만이 방법으로해야합니다. –
어떤 UI 프레임 워크를 사용하고 있습니까? Windows Forms, WPF 또는 WinRT? – yeoman
WinRT는 이제 범용 Windows 응용 프로그램, btw라고합니다. – yeoman