긴 프로세스에서 winforms UI를 반응하게 유지하십시오 장기 실행 작업이 기본 스레드를 연결하면
솔루션? 이러한 시간 소모 작업을 배경 스레드에 오프로드하여 기본 스레드를 제거하여 UI를 응답하십시오. 방법은 다음과 같습니다.
스레드 풀 사용 :
(.NET 4.0 이상)에서 (또는
)을 사용하십시오 .NET 4.5 이상의 클리너 코드의 경우배경 작업자 구성 요소 :
ThreadPool.QueueUserWorkItem()
구성 요소를 양식에 추가하십시오
장기 실행 방법을 Task.Factory.StartNew()
이벤트에 할당하십시오
별도의 스레드에서 메소드를 실행하려면 Task.Run()
중요한 참고 : 배경 스레드에서 GUI를 직접 업데이트하지 마십시오. UI 요소를 업데이트하기 전에 항상 마샬은
를 사용하여 기본 UI 스레드로 다시 업데이트됩니다.위 내용은 장기 실행 작업 중에 Winforms에서 UI 행 업을 방지하려면 어떻게해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!