ホームページ  >  記事  >  バックエンド開発  >  C# WinForm クロススレッド アクセス制御の詳細なグラフィックとテキストの説明

C# WinForm クロススレッド アクセス制御の詳細なグラフィックとテキストの説明

黄舟
黄舟オリジナル
2017-09-16 11:09:533858ブラウズ

問題が発生します: WinForm でメイン スレッドの制御を処理するときに、図に示すようなエラー ダイアログ ボックスが表示されます。

方 解決策:

: メインスレッド UI コントロールの UI コントロールの安全性検査を削除します。

 Control.CheckForIllegalCrossThreadCalls = false;
を使用します。

: 委託を使用する UI 制御操作は、Invoke メソッドと BegininVoke メソッドを使用します。前者は同期メソッドであり、後者は非同期です。非同期 BegininVoke メソッドを使用することは、Invoke メソッドを同期することと同じであり、INVOKE メソッドを BegininVoke メソッドに置き換え、POST を使用して子スレッドの UI コンテキストのメッセージ キューにアクセス UI 制御メソッドをプッシュします。または Send; Class の場合、別のスレッドで実行されます。次の図は公式 Web サイトの説明からコピーしたものです。次のコードを使用して、別のスレッドを介して UI メイン スレッドを制御すると、エラーは報告されず、正常に通過しますか? ? ?専門家の方からアドバイスをお願いします! ! !写真は次のとおりです。

以上がC# WinForm クロススレッド アクセス制御の詳細なグラフィックとテキストの説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。