• 締切済み

VB.NETでMessageBoxを表示したいのですが

Visual Studio .NETでWebアプリケーションをしております。 言語はVB.NETです。 メッセージボックスを表示しようとすると、エラーが出てしまうのですが、 Msgboxを表示するにはどうすればいいのでしょう。 エラーメッセージは 「アプリケーションが UserInteractive モードで実行されていないときに、 モーダル ダイアログまたはフォームを表示することはできません。 サービス アプリケーションからの通知を表示するには、 ServiceNotification または DefaultDesktopOnly スタイルを指定してください。 」 といったサーバエラーです。 そこでUserInteractiveモードを調べてみると、 「このプロパティは、プロセスがサービス プロセスとして実行されている場合、または Web アプリケーション内から実行されている場合にだけ false になります。 UserInteractive が false の場合は、ユーザーが対話するための GUI が存在しないため、 モーダル ダイアログまたはメッセージ ボックスは表示しないでください。」 ということが書いてありました。 ちなみにWindowsアプリならVB.NETでもMsgbox関数で簡単に表示できたのですが。。 どこかで何か設定しなければならないのでしょうか。 お分かりの方、教えてください。 よろしくお願い申し上げます。

みんなの回答

  • godori
  • ベストアンサー率50% (2/4)
回答No.1

自信はありませんが、.NETのWEBアプリの場合、MsgBoxメソッドは使えません。 メッセージボックスのような見た目の物を表示するには、javascriptで「prompt,comfirm,alert」のようなダイアログボックスと言うものを表示させるのがいいと思います。 javascriptはわからない、覚えたくないと言う場合や、aspx.vbのファイルにロジックを集中させたい場合は、 Response.Redirect([URL],false)で別のウィンドウを表示させる方法もありますが、その場合、別ブラウザが起動する事になりますので、VBのMsgboxとは見た目も違うし、使い方もまったく違います。 ですので、msgboxを意地でも表示させるのではなく、他の手段で同じ結果を得るのがいいと思います。 例えば、ただメッセージを表示するだけならば、labelやtextboxをページに配置してそこに、メッセージ内容を表示させればいいと思います。 .NETのWEBアプリは、WEB系の知識がかなり必要で、今までのVBで出来た事を実現するには色々な工夫が必要だと思います。 WEBになじみの少ない方は、いろいろなホームページを見て、HTMLベースのアプリなりのユーザーインターフェイスに慣れ親しまれれば良いかと思います。 「VBでは出来たのに」、という考えはあまりしないほうがいいです。

関連するQ&A

  • VB.NETでMSGBOXを使ってエラーを表示させる場合

    VB.NETでMSGBOXを使ってエラーを表示させる場合 VB6で MsgBox Error, vbInformation, "処理" と書くと、システムエラーが発生した場合、メッセージを表示してくれるのですが VB.netの場合上記 Error の部分はどうかえればいいでしょうか。

  • MessageBoxの閉じるボタン

    こんにちわ。 いまVB.NET2003で開発をしている者です。 MessageBox.Showでメッセージボックスを表示する処理 をコーディングしていますが, メッセージボックスダイアログの[閉じるボタン]を無効に するにはどうすれば良いでしょうか? 教えてください。よろしくお願いします。

  • vb.netでエラー

    こんにちわ。 いまvb.netの勉強をしている者です。 初歩的な質問になるかと思いますが,教えてください。 フォーム上のリンクラベルをクリックして,あるwebページを 表示するために下記のコーディングをしました。 「System.Diagnostics.Process.Start("http://www.microsoft.com/japan/")」 実行するとこの行で, "Win32Exceptionはハンドルされませんでした" というメッセージが表示されてしまいます。 この場合何が原因と考えられるでしょうか? 教えてください。よろしくお願いします。

  • DLLから表示しているモーダルダイアログよりも手前にかつモーダルにフォーム表示したい

    VBからOCX経由でDLLを呼び出しており、そのDLLからモーダルダイアログ(以下ダイアログ(1)と記述)を表示しています。このダイアログ(1)を表示中にVBから別フォーム(2)をダイアログ(1)より前面に表示させています。 フォーム(2)をダイアログ(1)より前面に表示し、ダイアログ(1)をマウスクリック等しても表示順序が入れ替わらないようにするにはどうすれば良いでしょうか? OCXおよびDLLの変更はできません。 フォーム(2)の代わりにMSGBOX関数にてメッセージボックスを表示させた場合には、メッセージボックスを終了以前にダイアログ(1)の操作は不可となりました。 ですので、何らかの方法で実現可能だと考えています。 よろしくお願いいたします。

  • MessageBoxのタイマーについて

    初めて質問させて頂きます。 タイマーを使ってMsgBoxにメッセージを表示し、 MsgBox に表示されるOKボタンを押したら、同MsgBox表示のタイマーを止めたい場合、 どのようなスクリプトを書けばよいのでしょうか? まだ勉強中の身でありますため、初歩的な質問で恐れ入りますが、 ご教示頂けますようお願いいたします。 使用しているソフトは、VB 2010 Expressです。

  • VB5が起動しない

    VB起動時,vb5.exeアプリケーションエラーのメッセージボックスが表示され,強制終了してしまいます. どうしてでしょうか?

  • VB.NET で、デバッグができません。

    Windows-Xp_Pro 上でVB.NETを動かしたいと思っています。 個人のPC上で体験版VB.NETのインストールを終わり、ASP.NETwebアプリケーションプログラムのテスト実行時(ローカルモード)に、下記メッセージが表示されました。    Webサーバーでデバッグを開始できません。サーバーをデバッグ    する権限がありません。    サーバーのDebuggerUsersグループのメンバーであることを確認    して下さい。 Webアプリケーションが存在するPATH上のWeb.Configは「debug="true"」に設定してあります。 また、コントロールパネル→グループの「グループDebugger User」にもユーザーを追加してあります。 IIS, VB.NET は正常にインストールできました。セキュリティソフトは入っていますが、インストール時には特にエラーはありませんでした。 設定の問題とは思うのですが、どなたかエラーの原因がわかる方がおられましたら教えて頂きたいと思います。 なお、「デバッグなしで開始」をすれば正常に動きます。また、Windowsアプリケーションも問題なく動きます。 よろしくお願い致します。

  • VB.NETのパネルの使い方

    VB.NETでWEBアプリケーションを作るのですが、Panelコントロールにテキストボックスやコンボボックスを配置し、メソッド一回でそのパネルの上に乗っている各コントロールをクリアしたいのです。こういう使い方ってできるのでしょうか?

  • VB.NETでのWEBアプリケーションにおける設定

    VB.NETでのWEBアプリケーションにおける設定で困っています。入力の判定でテキストボックスのようなものをポップで出したいのですが、良く分かりません。設定方法を教えてください。Windowsformではありません。ブラウザ表示の際の入力判定です。お願いします。

  • VB6.0からVB.Netへの移行時に

    現在、VB6.0からVB.netへの移行作業をしています。 VB.netでは、Sub_Mainに書かれた処理が終了すると、 アプリケーションも終了するという事がヘルプに書かれて いました。変更手順もありましたので、その通りに 表示したいフォームをスタートアップオブジェクトに指定し、フォームのLoadイベントからSub_Mainを呼び出すように変更しました。 が、エラーがでます。 「System.InvalidOperationException' のハンドルされていない例外が system.windows.forms.dll で発生しました。」 「追加情報 : 1 つのスレッド上で、2 つ目のメッセージ ループを開始できません。Application.RunDialog または Form.ShowDialog を代わりに使用してください。」 .netに触るのは初めてで、入門書と格闘してますが、 エラーの意味する事すらわかりません。 何が問題なのでしょうか? 新規にフォームを作成したものは、問題なく表示されたのですが、VB6.0から移行したものは表示すらできない情況です。

専門家に質問してみよう