問題が発生します: WinForm でメイン スレッドの制御を処理するときに、図に示すようなエラー ダイアログ ボックスが表示されます。
方 解決策:
: メインスレッド UI コントロールの UI コントロールの安全性検査を削除します。 Control.CheckForIllegalCrossThreadCalls = false;
: 委託を使用する UI 制御操作は、Invoke メソッドと BegininVoke メソッドを使用します。前者は同期メソッドであり、後者は非同期です。非同期 BegininVoke メソッドを使用することは、Invoke メソッドを同期することと同じであり、INVOKE メソッドを BegininVoke メソッドに置き換え、POST を使用して子スレッドの UI コンテキストのメッセージ キューにアクセス UI 制御メソッドをプッシュします。または Send; Class の場合、別のスレッドで実行されます。次の図は公式 Web サイトの説明からコピーしたものです。次のコードを使用して、別のスレッドを介して UI メイン スレッドを制御すると、エラーは報告されず、正常に通過しますか? ? ?専門家の方からアドバイスをお願いします! ! !写真は次のとおりです。
以上がC# WinForm クロススレッド アクセス制御の詳細なグラフィックとテキストの説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。