0

私はこれを機能させるのに苦労してきました...別の MDIchild フォームを開くボタンが MDIchild フォームにありますが、フォームが既に開いている場合は、それを認識せず、新しいフォームを開きます。フロント。これは私が持っているコードです:

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

    Dim MDIForm4 As New Form4
    MDIForm4.MdiParent = Me
    MDIForm4.Show()

End Sub

これは、ボタンが新しいフォームを開くために機能し、次にこれを追加しようとしました:

    If Not Form4 Is Nothing Then
        Form4.BringToFront()
    End If

しかし、肯定的な結果はありません。誰かアイデアはありますか?

よろしく、

ホルヘ・ブリト

4

2 に答える 2

4

私が通常それを行う方法は次のとおりです。

For Each f As Form In Application.OpenForms
  If TypeOf f Is frmTest Then
    f.Activate()
    Exit Sub
  End If
Next

Dim myChild As New frmTest 
myChild.MdiParent = Me
myChild.Show()

メイン フォームの子だけが必要な場合は、Me.MdiChildren (Me = この MDI フォームと仮定) を使用できます。

于 2014-08-11T18:16:20.380 に答える
0

今すぐ修正!

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click


    For Each f As Form In Application.OpenForms
        If TypeOf f Is Form4 Then
            f.Activate()
            Exit Sub
        End If
    Next


    Dim MDIForm As New Form4
    MDIForm.MdiParent = Form2
    MDIForm.Show()

End Sub

MDI の親を間違った形式で定義していました!

于 2014-08-12T10:58:56.667 に答える