• ベストアンサー

画面を切り替える方法

VisualBasic2005ExpressEditionを使用しています。 そこで質問なのです。 Form1のウインドウの画像(ピクチャボックス)やラベルをクリックしたときForm2の画面を表示し、Form1を閉じるには Private Sub Label11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label11.Click End Sub の真ん中にどういう風に記述すればいいのでしょうか。うえはラベルの場合です。 よろしくお願いします。

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

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

なるほど。すみませんでした。 確認してみたら確かにForm2が一瞬で消えてしまいますね。 以下のようにしてください。 お望みの動きになると思います。 Form1を閉じたらプログラムが終了してしまうので、Form2を表示してForm1は非表示にするだけにしました。 Form2が閉じられたタイミングでForm1を閉じて、プログラムが終了となります。 Dim frm2 As New Form2 Me.Hide frm2.ShowDialog Me.Close

WTOIE
質問者

お礼

ありがとうございます! この動作、感激です!! 本当になんどもありがとうございました。

その他の回答 (3)

回答No.3

>移動するとき閉じてしまうようです・・・。 移動する時とは??? Form1からForm2に移動したときってことですか? ラベルをクリックしたらForm2が表示されて、 Form1は閉じられていればいいんですよね?

WTOIE
質問者

補足

何回もありがとうございます。 すみません言い方がまちがってました^^; Form1が閉じてForm2が開くのですが何もしないうちにForm2が閉じてしまうんです。 ほかの不要な文を消したりいろいろやっても同じ結果でした。

回答No.2

Private Sub Label11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label11.Click Dim frm2 As New Form2 frm2.Show Me.Close End Sub

WTOIE
質問者

お礼

ありがとうございます。 移動するとき閉じてしまうようです・・・。

  • starsip
  • ベストアンサー率36% (22/60)
回答No.1

'例えばフォーム1のボタン1クリックでフォーム1を非表示してフォーム2を表示 'フォーム2を閉じるとフォーム1を再表示 'Form1のコード Private Sub CommandButton1_Click() UserForm2.Show End Sub 'Form2のコード Private Sub UserForm_Initialize() UserForm1.Hide End Sub Private Sub UserForm_Terminate() UserForm1.Show End Sub

WTOIE
質問者

お礼

ありがとうございます! 一応別ウインドウが起動するところまではいったのですが、form1が閉じてくれません。 書くところが間違っているかもしれないので書くところを教えてください。よろしくお願いします。

関連するQ&A

専門家に質問してみよう