문제가 나타납니다. WinForm에서 메인 스레드의 제어를 처리할 때 그림과 같은 오류 대화 상자가 나타납니다.
方 솔루션:
: 메인 스레드 UI 컨트롤의 UI 컨트롤에 대한 안전 검사를 제거합니다. 다음을 사용하세요.
Control.CheckForIllegalCrossThreadCalls = false;
: 위임 사용 UI 제어 작업은 스레드의 메시지 대기열을 푸시합니다. 사용되는 메서드는 Invoke 메서드와 BegininVoke 메서드입니다. 후자는 비동기식입니다. 비동기식 BegininVoke 메서드를 사용하는 것은 동기식 Invoke 메서드와 동일합니다. Invoke 메서드를 BegininVoke 메서드로 바꾼 다음 POST를 사용하여 액세스 UI 제어 메서드를 하위 스레드에 있는 UI 컨텍스트의 메시지 큐에 푸시합니다. 또는 Class, 별도의 스레드에서 실행됩니다. 다음 그림은 공식 웹사이트 설명에서 복사됩니다. 별도의 스레드에서 실행됩니다. :
winform TextBox 컨트롤에 추가하는 이유 그런 다음 다른 스레드를 통해 UI 기본 스레드의 제어에 액세스하면 오류가 보고되지 않고 정상적으로 통과됩니까? ? ? 전문가님들의 조언 부탁드립니다! ! ! 사진은 다음과 같습니다. 下 下 下
위 내용은 C# WinForm 크로스 스레드 액세스 제어에 대한 자세한 그래픽 및 텍스트 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!