2017-01-20 16 views
2

ボタンを押して新しいフォームを作成するプログラムを作っていますが、少し問題があります。Visual Basic:フォームを閉じて開く?

私はForm1とForm2を持っているためです。 Form1のボタンを押すとForm2が表示され、Form1を閉じるだけです。

Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click 
     Form2.Show() 
     Me.Close() 

実際には、私がMe.Close()と言っても、Form1とForm2を閉じるということが実際に起こります。

修正がありますか、どういうわけか間違っていませんか?

答えて

2

Form1はあなたのスタートアップフォームです。不明な場合は、[プロジェクトプロパティ]で確認してください。 enter image description here

Form1を閉じる瞬間、アプリケーションは完全に終了します。したがって、簡単な言葉でForm1を閉じて、少なくとも2行のコードではない別のフォームを表示することはできません。

できることは、Form1とShow Form2を非表示にすることです。今

Form2.Show() 
    Me.Hide() 

あなたはForm2のを閉じたとき、あなたのいずれかがあなたのプロセスがバックグラウンド、ゴーストに生きているだろう、他のForm2のFormClosingイベントからForm1の(ように手動で閉じるusercan)または自動的に閉じ、Form1を再表示することを確認してください:)あなたのForm2でそう

FormClosingイベントハンドラを追加し、その近くに内部をForm1

Private Sub Form2_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing  
     Form1.Close() 
    End Sub 
関連する問題