↓Microsoft の正式な表現ですが、微妙に解りにくいですね。
[[スレッドからコントロールを操作する]]
http://msdn.microsoft.com/ja-jp/library/757y83z4.aspx
@DIV
簡単に言えば、
コントロールの正しい所有者(Me)が管理しているメソッド(Me.Method)を作成しておいて、
どこからか呼ばれたメソッド内(いわゆる別スレッド)または、外部から呼ばれたイベント内からは、
invoke(Me.invoke) を使ってそのメソッドを呼び出しなさい。
という事です。
@END
↓は IE キャプチャーでのサンプルです。
http://winofsql.jp/VA003334/dnettool080607195037_080620175256.htm
@DIV
http://winofsql.jp/VA003334/dnettool080607195037.htm(IE キャプチャー) では、COM を使って実行中の IE オブジェクトを捕獲し、自分のメモリ空間にあるイベントを各 IE に登録しています。
よって、ドキュメントがロードされるとイベントが発生しますが、そこから直接 TabControl や Formにアクセスできません。
結果、invoke の出番となります
@END |