- PR -

Form2を開いたときForm1を閉じたい

1
投稿者投稿内容
未記入
ベテラン
会議室デビュー日: 2006/04/14
投稿数: 55
投稿日時: 2006-07-29 18:05
VB.NETです。

Form1とForm2があります。
ボタンクリックしたとき、Form2を開き、Form1は閉じられる、
というものを作りたいのですが。

Form1に下記の実装をしたのですが、

Dim a As New Form2
a.ShowDialog()

Me.Close()

Form2は開いたのですがForm1が閉じられません。

またShowDialogではなくShowでも試してみましたが、
その場合Form1もForm2も閉じてしまいました。

なにか良い方法はないでしょうか?

小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2006-07-29 18:19
Form1を閉じてしまうと、Form2を生成した親が
居なくなることになってしまうので、閉じることが
できないのではないのでしょうか。
閉じるのではなく、非表示にするというのはいかが
でしょうか。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-07-29 19:01
引用:

Form1を閉じてしまうと、Form2を生成した親が
居なくなることになってしまうので、閉じることが
できないのではないのでしょうか。


ではなく

コード:
Application.Run(new Form1())


としているせいで、Form1 を閉じるとアプリケーションが終了しているのでしょう。
Form1 をメインウィンドウにするのをやめるか、小僧さんの言うとおり非表示にします。
_________________
囚人のジレンマな日々
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-07-31 12:07
ウィザード的な動きをさせたいのなら、ひとつのフォームにパネルを複数用意して表示を切り替えるのも良いです。
未記入
ベテラン
会議室デビュー日: 2006/04/14
投稿数: 55
投稿日時: 2006-08-02 18:52
返答遅れました。みなさんありがとうございます。

Visible = Falseで非表示としてとりあえずいけました。
ですがR・田中一郎さんがおっしゃる様にパネルについても調べてみます。。。
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2006-08-02 19:00
R・田中一郎(なつかしい)さんの方法は、
タブパネルなど、表示するページをプロパティで変更できる
コントロールをフォームに貼り付けて、前後に移動する
ボタンのイベントプロシージャ内でページプロパティを
変更する方法で、1つのフォーム内に複数の表示状態を
保持する方法だと思います。
一度に1つの表示状態のみユーザーに見せたい場合は便利
ですよ。
1

スキルアップ/キャリアアップ(JOB@IT)