- - PR -
サーバと通信であることを表示する方法
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-02-28 10:42
お世話になります。
まだ勉強をはじめたばかりなので的外れなことを書くかもしれませんが、 アドバイスをお願い致します。 【開発環境】 開発言語:VB.NET OS :PocketPC 2003 現在PDAを対象として、VB.NETでWebクライアントを作成しています。 HttpWebRequestを使用してプログラムを作成し、 サーバにアクセスしてデータを取得するところまではうまくいきました。 しかし、Webブラウザのように「今はサーバと通信中である」ということを示す方法がわかりません。 サーバとの通信がすぐに終わる場合はいいのですが、 通信中は画面が固まった状態になるため、通信に時間がかかる場合は、 通信しているのかプログラムがフリーズしているの分からない状態です。 どなたかこの問題を解決する方法をご存知でしたら、教えていただけないでしょうか。 VBやPDAでのやり方でなくても、Webクライアントを作るときはこうするという方法でも結構ですので、 よろしくお願い致します。 | ||||
|
投稿日時: 2005-02-28 10:53
GetXXX() で同期的にサーバリクエストを行っているコードを、BeginXXX(), EndXXX() を使った非同期的なコードに書き換えます。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ | ||||
|
投稿日時: 2005-02-28 21:28
渋木宏明(ひどり)さん、アドバイスありがとうございます。
アドバイス通り、処理を非同期にしました。 プログラムは以下のページを参考にして作成しました。 http://dobon.net/vb/dotnet/internet/webrequest.html これにより、画面がフリーズすることはなくなりました。 ありがとうございました。 ところで、サーバと通信中であることを示すには、 フォームにテキストボックスやラベルなどを設置し、テキストで表示するしかないのでしょうか。 今は、通信中はフォーム上に設置したテキストボックスに通信中であることを示すメッセージを流しているのですが、 できればブラウザのように小さな画像(アニメーション)を表示するか、 フォーム上に別の小さなウィンドウを表示して、そこにテキストで表示したいのです。 しかし、PocketPC(Compact Framework)だとフォームが1つしか表示できないので、 このようなことが出来ません。 なにかよいアイディアは無いでしょうか。 たびたびで申し訳ありませんが、 アイディアがある方がいたらアドバイスをお願いいたします。 | ||||
|
投稿日時: 2005-02-28 21:56
標準的かどうか分かりませんが、フォームのキャプションとフォームアイコンを変更してみるとか。 あるいは、ステータスを表示する必要がある時だけ表示エリアを可視化するとか。 _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ | ||||
|
投稿日時: 2005-03-01 09:30
渋木宏明(ひどり)さん、アドバイスありがとうございます。
アドバイスしていただいた方法で試してみます。 どうもありがとうございました。 |
1