• ベストアンサー

VBレイアウトの落とし穴?

VB6.0について質問です。 フォームからコマンドボタンによりフォームを起動し重なるような形で表示されている状態なのですが 起動したフォームからコマンドボタンでメッセージボックスを表示すると起動したフォームが消えてしまいます。 メッセージボックスを終了すると再び消えたフォームは表示されるのですが、消えてしまう理由は何でしょうか?? できれば消えないでフォームの上にメッセージボックスを表示したいのです>< ご回答おねがいします、、、

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

そういう現象になったことはないんですが…。 とりあえず、 Form1.Shor Vbmodal,Me という形で、第3引数に親フォームを指定したら消えないような気もします。

その他の回答 (2)

noname#60992
noname#60992
回答No.2

msgboxみたいに見えるフォームにてメッセージを表示させるとvbmodalでも大丈夫だと思います。

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.1

たとえば Form2.Show vbModal になっていればそのようになりますので この場合vbModalを消しましょう。

関連するQ&A

  • vb2010でテキストファイルの1行置きの読み込み

    VB2010です。 フォームにリストボックスとコマンドボタンがあります。 コマンドボタンをおしたら”C:\test.txt”の内容を2行目から一行おきにリストボックスに 表示させたいのですが、どのようなコードを書いたらよいのでしょうか? test.txt内容 aaa あいうえお 123 かきくけこ 456 さしすせそ 789 リストボックスには あいうえお かきくけこ さしすせそ と表示させたいです。

  • VB.NETとEXE

    VB.NETで作成したフォーム(仮にメインフォームとします)にコマンドボタンを複数貼り付けています。 各コマンドボタンをクリックすると、それぞれの別のEXEが起動します。 (例 コマンドAをクリックすると、EXE-Aが起動、コマンドBをクリックするとEXE-Bが起動。両方一度に起動も可) この時、必ずメインフォームの上にEXEのフォームが重なるように表示されています。 そこで質問があります。 1、複数EXEが起動されている時、一番前面に表示されているEXEを識別する方法はありますか? 「現在アクティブなEXE」とは異なります。なぜなら、メインフォームをクリックすると、前面に表示されているEXEはアクティブな状態とはならないためです。 2、メインのフォームの右上にある「最大化」や「最小化」のボタンをクリックしたら、それに連動してEXEも最大化や最小化をするようにすることは可能でしょうか? すこしわかりにくいと思いますが、補足もしますので、アドバイスよろしくお願いします。

  • VBプログラムを終了させないようにするには

    VB2005 WindowsXPでの開発を考えています。 メニューボックスは表示せず、終了ボタンからの終了にはパスワードの入力を求めるようにします。 しかしこれだけでは、タスクマネージャ等からの強制終了ができてしまいます。 強制終了も不可能にすることは可能でしょうか? また、できるのであればプログラム起動中は、Windowsの操作(エクスプローラやスタートメニューなど)をできないようにしたいと考えています。現状ではモーダル状態のフォームを最大化して表示させようと思っていますが、他に良い方法を御存知でしたらお願い致します。

  • VB5が起動しない

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

  • VBでフォルダを開いて、左右に並べる

    VB6にてフォーム上にテキストボックスが2つと、ボタンがあり、 各テキストボックスにフォルダのパスを書いて、ボタンを押すと指定のフォルダが「左右に並べて表示」の状態で開くものを作ろうとしています。 しかし、ShellExecuteではムリのようです。 このような事は可能なのでしょうか? 宜しくお願い致します。

  • VBでDosコマンドを動かすには

    VB6でDosのコマンドを入力して実行させたいと思っているのですが、どのように設定すればいいのでしょうか? わざわざVB6からDosプロンプトを起動させるわけではございません。 理想ではテキストボックスにコマンドを入力してボタンを押すと実行すると言う形にしたいのですが・・・。 ご存知の方ご指導よろしくお願いします たぶんAPIを使うのだと思いますがAPIまだまだ知識不足なので、分かりやすく解説していただければ助かります。 よろしくお願いします。

  • VB2005 フォームロード時にメッセージ表示

    VB素人です。 VB2005で、あるフォームクラスを起動した際の フォームロード処理で、エラー判定処理(DBデータを取得して判定)を 行っています。 エラーと判定された場合、メッセージBOXを表示するのですが、 フォームが表示される前に、メッセージのみが表示されてしまいます。 フォームが表示→メッセージが表示(同時も可)にするには どのようにすれば良いのでしょうか? アドバイスをお願いします。

  • 同じフォームを呼び出す方法

    フォームA上にコマンドボタンがあり、そのコマンドボタンをクリックして、同じフォームAを呼び出す方法を教えてください。 フォームAは見える状態で、同じフォームAが上に重なって表示されている状態です。 VB6.0、Windows xpです。 宜しくお願いします。

  • VB.NET メッセージボックスが隠れてしまいます。

    VB.NETでIEを起動して、フォームの操作と連携して IEのページを自動で操作するプログラムを作っています。 IEでWEBページのリンクをクリックしてページを移動する ごとにURLをチェックして、設定に該当した場合は メッセージボックスを表示して、このページで良いですか? という確認をしたいのですが、メッセージボックスが アクティブにならずにタスクバーを押さないと表示されません。 リンクをクリックした後は SetWindowPos(IE.HWND, 1, 0, 0, 0, 0, &H1 Or &H2 Or &H10) を実行して、IEを後ろに消してフォームを出すことは出来たのですが、 IEのウィンドウのタスクバーが押された状態のままで メッセージボックスがアクティブな状態で最前面に出てくれません。 Me.Topmost = True でもフォームは出るのですが、 メッセージボックスはその後ろに隠れてしまいます。 メッセージボックスを最前面に出す方法があったら教えて頂きたいです。 よろしくお願い致します。

  • VB.NET2003で…

    フォーム1のコマンドボタンをクリックするとフォーム2が開き、フォーム1を閉じたいのですがどうすればいいのですか? 実行したときにフォーム1にシステム日付をラベルかテキストボックスに「2003年09月24日」と表示したいのですがどうすればいいのですか?