- - PR -
Formの呼び出し・呼び出しもとの画面閉じ
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-04-02 11:28
こんにちは。
VB2005を勉強中です。 開発経験がないので、初歩的な質問になります。 Form1上にボタンを配置し、押下するとForm2が表示されるコードを書いています。 今は、Form1上のボタンを押すと、Form2が表示されるようになりました。 ただ、理想の動作は、Form2が表示されると、Form1の画面は閉じるような 処理を施したいです。 自分が行いたいことを以下に簡単にまとめます。 1. Form1で、何かの値を設定(テキストボックスに入力など) 2. Form1で設定した値をForm2に渡して、Form2を表示。 3. Form2が表示されたら、Form1を閉じる。 どなたかご教授をお願いします。 質問内容がわかりにくければ、おっしゃってください。 | ||||||||
|
投稿日時: 2008-04-02 11:59
2. Form1の表示を次画面に切り替えて、前画面で取得した値を設定。
じゃ、ダメなの? | ||||||||
|
投稿日時: 2008-04-02 12:06
場合によって Form1 のインスタンスを破棄してはならない時があります。 Form1 に戻ることがありえるなら非表示にした方が都合が良いことが多いです。 またウィザードのような遷移をイメージしているなら UserControl などコンテナを利用してそれらで切り替えた方が良いです。
さて Form1 を閉じてしまうことが前提なら、Form1 はおそらく Main Form (閉じるとアプリケーションが終了する Form) でしょうから ApplicationContext を使うことになると思います。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2008-04-02 12:15
フォームを表示するクラスを作成し、 Main() メソッドを定義します。 プロジェクトのプロパティで、アプリケーションの種類を コンソールアプリケーション、スタートアップオブジェクトを Sub Main に変更してください。 ただし、どこかで必ず Application.Exit() をコールする実装にします。 | ||||||||
|
投稿日時: 2008-04-02 21:06
これだとForm1はメッセージループ外で動いてそうですが、 問題ないのでしょうか? ApplicationContextを使うのがよいのではと思います。 | ||||||||
|
投稿日時: 2008-04-04 19:15
みなさま
どうもたくさんのご返信ありがとうございます! 皆様の意見を参考にして、コーディングをしてみます。 コーディング結果が出ましたら、書き込みします。 どうもありがとうございます! |
1