• ベストアンサー

実行時に現れるフォームの変更の仕方について

掲題の件について質問なんですが、 複数のフォームを作った場合、 実行時に最初に現れるフォームを変更するにはどうしたらよいのでしょうか? 最初に作ったフォームの初期値のVisibleをfalseにして、後から作ったフォームの同初期値をtrueにしたところフォームが現れなくなってしまいました。 よろしくお願いします。

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

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

> フォーム1のみ初期値がvisible=trueで実行時に現れるようにし、フォーム2は初期値がvisible=falseでフォーム1に設置したボタンのみで現れるようにしておきます。 フォームの Visible は関係ないですのでデザインの段階で True にしときましょう。 Visible は「すでにメモリ上にロードしているフォームを画面に表示するかしないか」という項目です。 「フォームを使う/使わない」「フォームをロードする/しない」とは違います。 <現状> Form1 がスタートアップ フォームになっている。 Form1 のボタンで Form2 が表示されるようになっている。(Form2.Show とかかな?) <要望> Form2 をスタートアップ フォームにしたい。(Form1 はどうなるのかはとりあえず置いといて) <方法> プロジェクトのプロパティに「スタートアップ フォーム」という項目がありませんでしたっけ? ちと VB 6 は何年も触ってないので覚えてないのですが・・・ スタートアップ フォームの項目で、アプリケーション実行時、最初に表示されるフォームを指定できたと思います。

yoshi004
質問者

お礼

ありがとうございます。 そのような設定やコードがあるか探しておりました。 スタートアップフォームの設定を探してみます。

その他の回答 (2)

回答No.2

VB のバージョン。 どういう条件で初期フォームを変えたいのか。 って所、教えてください。 とは言え、初期フォームを変更するってことは、アプリケーションのエントリポイントを Sub Main(サブのメインっちゃぁヘンな言葉だよな・・・)にして、そこで条件分岐するのが一番素直なやり方でしょうね。

回答No.1

困っているのでしょうが、、、、、このままではアドバイスのしようがありません。 まず、VBのバージョンがわかりません。 >最初に現れるフォーム 「モジュールからの起動(Sub Main)」なのか「フォームからの起動」なのかがわかりません。 >後から作ったフォーム これをどのタイミングで、どのように呼び出しているのかがわかりません。 もっと情報公開する必要があります。

yoshi004
質問者

補足

すみません。 VB6.0を使っております。 フォーム1、フォーム2という順で一つのプロジェクト内で複数フォームを作り、それぞれをボタンなどで行き来できるようにしておきます。 フォーム1のみ初期値がvisible=trueで実行時に現れるようにし、フォーム2は初期値がvisible=falseでフォーム1に設置したボタンのみで現れるようにしておきます。 この状態だと実行時にはフォーム1が現れ、ボタンを押すとフォーム2が現れます。 しかし逆にフォーム1の初期値がvisible=falseでフォーム2は初期値がvisible=trueで実行するとフォーム2が現れず、コードが画面に表示されたままになります。 もしフォームがツリー状で親と子が作られ、最初に作られるフォームが親になってしまうなら、親と子を入れ替える方法はあるのでしょうか。 コードが書けずすみません。

関連するQ&A