- ベストアンサー
ダイアログのオーナーを設定する
- VWDでプログラムを始めて一週間。ネットで拾ったソースを使って練習している段階です。そのままコピペしただけではエラーが出るので少しずつ修正していますが、どうしても分からず数時間作業が止まっている部分があります。
- waitDlg.Owner = Me の箇所でエラーが発生しています。'ASP.day01_aspx' の値を 'System.Windows.Forms.Form' に変換できませんというエラーメッセージが表示されています。このエラーの原因はなんでしょうか。
- 質問は初歩的なものですが、どのような些細なアドバイスでも結構ですので教えていただきたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
VB.NETには 2種類のアプリケーションの形態があります 1つは Windows Formアプリケーション もう1つは ASPX Web Form アプリケーション で、 VWD Expressが作成できるのは後者の Web Formアプリケーションです いわゆる IEやネットスケープなど Webブラウザ上で表示されるアプリケーションなのです 参照しておられるページのコードは Windows Form用のコードなのです ブラウザを必要としないアプリケーション用のコードです Web Formの VBコード(または C#コード)はサーバーサイドで実行されるものであり ユーザー側のクライアントサイドでは一般的には実行されません # クライアントサイド使用することは可能ですが ・・・ 出来上がったページの 表示 > ソースを表示などとすると VWD上の aspxとは違ったソースになっていると思います コレは aspxのコントロールなどがサーバー上でHTMLに変換されてブラウザに送信しているからです ココのエラーをクリアしても 実際に動作するのがサーバ側であり ユーザー側では表示されません エラーの要点は waitDlgが System.Windows.Forms.Form型のオブジェクトを要求しているのに System.Web.UI.Page型のオブジェクトを代入しようとしているからです 全然違うものを代入しているためです このような表示をさせるのは aspxでは少々無理があると思います クライアントスクリプトだけでは サーバー側の進行状況が把握できません 昔の MicrosoftのUpdateサイトの進行状況を示していたようなページみたいに作るしかないでしょうね 時間の掛かる処理は 別スレッド起動してコールバックするって感じかな ・・・ Webでコールバックって実現可能だったか不案内ですが