- - PR -
イベント発生まで処理をブロックしたい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-06-10 13:05
イベントドリブンになっている非同期なイベントを、
敢えて同期のように扱うことってできないでしょうか? 一つの関数中で、 WebBrowserを初期化して、 WebBrowser.NavigateでURLに移動して、 ドキュメントが読み込み終わってから 中身を取り出していろいろ操作して、 結果を返す、 というようなことをしたいのですが・・・ そもそも、イベント以外でドキュメントを読み込み終わったかどうかを知る方法もわからず・・・ | ||||
|
投稿日時: 2008-06-10 14:08
メッセージループ回してもいいというのであればこんな感じでできましたが、
そもそも同期的に行いたいという理由はなんですか?
| ||||
|
投稿日時: 2008-06-10 14:08
ブラウザコントロールに関しては無理です。 メッセージポンプを回さないと、ブラウザコントロールのステートが進まなくなる場面があります。 | ||||
|
投稿日時: 2008-06-10 14:26
ちょっとしたプログラムしか作れない外部の業者向けに、 関数形式で簡単に使えるライブラリを提供するという要件でして・・・ とりあえず、メッセージループを実装すると出来そうですね。やってみます。 ありがとうございました。 | ||||
|
投稿日時: 2008-06-10 14:59
http://www.atmarkit.co.jp/fdotnet/dotnettips/687nondispbrowser/nondispbrowser.html
| ||||
|
投稿日時: 2008-06-10 15:26
安易に DoEvents() するのは危険ですよ。 メッセージループを回す≒ユーザ操作を受け入れるってことなので。 |
1