Windows アプリケーションでは、バックグラウンド スレッドが GUI アイテムに直接アクセスできないことを知っています。私が完全に理解していないのは、その理由です。私が見つけた最も近い説明はこれです:
Windows フォーム コントロールへのアクセスは、本質的にスレッド セーフではありません。コントロールの状態を操作するスレッドが 2 つ以上ある場合、コントロールを強制的に矛盾した状態にすることができます。競合状態やデッドロックなど、その他のスレッド関連のバグが発生する可能性があります。コントロールへのアクセスがスレッドセーフな方法で実行されるようにすることが重要です。
これは、この MS ドキュメントからのものです。
ウィンドウ項目を一貫性のない状態にする 2 つのスレッドの特定の例について詳しく説明できる人はいますか?