1

[次へ]ボタンのように次のフォーム(VB.net Windowsフォーム)を開いた後、フォームを閉じるにはどうすればよいですか?

form2を表示してみForm2.show()ましたが、form1を閉じません。入力me.close()すると、プロジェクト全体が停止します。

4

3 に答える 3

4

表示したいだけの場合は、表示するときにForm2非表示にし、閉じるときに再び表示できます。何が起こっているかというと、プログラムを閉じると終了し、以下の編集を参照してください。Form1Form2Form1Form2Form1

このようなもの。

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim frm2 As New Form2
    AddHandler frm2.FormClosed, AddressOf Form2Closing
    frm2.Show()
    Me.Hide()

End Sub

Private Sub Form2Closing(sender As Object, e As FormClosedEventArgs)
    Me.Show()
    RemoveHandler DirectCast(sender, Form2).FormClosed, AddressOf Form2Closing
End Sub

閉じたいだけForm1で、一度Form2開いたら戻りたくない場合は、プロジェクト設定を[スタートアップ フォームが閉じたとき] (デフォルト) から [最後のフォームが閉じたとき] に変更すると、アプリケーションを閉じずに最初のフォームを閉じることができます。 .

于 2013-01-29T21:00:41.660 に答える
0

何を閉じるかを指定する必要があります。

  Form1.Close()
于 2013-01-29T20:59:21.137 に答える
0

別のフォームを開いた後は、別のフォームも閉じたい場合を除き、フォームを閉じないでくださいそうしないと、所有権と可視性の副作用が発生し、長期的には対処したくありません。

これがまさにme.close()、メインフォームでプロジェクトが停止する理由です。Microsoft が Winforms アプリケーションに組み込んだパラダイムを検討する必要があります。そうしないと、必ずトラブルに巻き込まれます。

代わりに、おそらく探しているのはウィザード コントロールです。

于 2013-01-29T21:26:38.777 に答える