更新gui
マルチスレッドプログラミングでは、メインGUIスレッド以外のスレッドからグラフィックユーザーインターフェイス(GUI)を更新することが課題になる場合があります。この記事では、個別のスレッドから小さなコンポーネントをラベルの小さなコンポーネントを更新する簡単な方法について説明します。
質問:
そのような状況を考慮してください。ウィンドウはthread1で実行され、ウィンドウ(thread2)から別のスレッドを起動します。 Thread2がファイルを処理している場合、目標はウィンドウ上のラベルを更新して、Sthread2操作の現在の状態を反映することです。 ソリューション:invoke()method
非uiスレッドからGUI要素を更新する直接的な方法には、invoke()メソッドが含まれます。この方法は、スレッド間の通信を効果的に可能にするために、UIスレッドで試運転を委託する方法を提供します。
実装:
たとえば、ラベルを更新するために、作業スレッド(Thread2)で次の手順を実行できます。このコードでは、invoke()メソッドは匿名の委員会をパラメーターとして使用します。この委員会は、UIスレッドのテキスト属性を更新するコードを定義します。 Invoke()メソッドは、委員会が完了するまで実行をブロックし、このコードが同期することに注意する必要があります。
以上が非UIスレッドからGUIラベルを安全に更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。