0

こんにちは、2 つのフォームを持つ VB アプリケーションがあります。Form AI で Form B を開始すると、Form A は visible=false になります。右隅の赤い「X」をクリックすると、フォーム B が閉じ、フォーム A が表示されます。

どうすればこれを行うことができますか?

4

2 に答える 2

4

FormB で次のような設定を行うことができます。

Private objFromForm As FormA

Sub New(FromForm As FormA)
    InitializeComponent()
    objFromForm = FromForm
End Sub

Private Sub FormB_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    objFromForm.Visible = True
End Sub

基本的に、FormA が FormB のコンストラクターを呼び出すと、それ自体への参照が渡されます。次に、FormB の「FormClosing」イベントで、その参照を使用して、FormB を閉じる前に FormA を再び表示することができます。FormB の新しいインスタンスを表示し、それ自体 (FormA) への参照を FormB コンストラクターに渡すボタンを使用した、FormA 側の例を次に示します。

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim objNewForm As New FormB(Me)
    objNewForm.Show()
    Me.Visible = False
End Sub
于 2013-11-01T13:08:49.980 に答える
3

基本的にあなたはこのようにすることができます..

FormAからFormBを呼び出す場合

Me.Visible = False
FormB.Showdialog

In FormB FormClosing イベント

FormA.Visible = True
于 2013-11-01T13:12:40.273 に答える