0

新しい子フォームを作成できる親フォームにボタンがあります。

ただし、各フォームの複数のインスタンスを作成したくありません。親MDIフォームにパブリックブール値を入れてみました: Dim ChildForm As Boolean = False

そして、子フォームが作成される時点で: ChildFormThere = True

そして、子フォームの「Leave」イベントでは、これができると思いました:

Me.MdiParent.ChildFormThere = False

しかし、それは ChildFormThere 変数を認識しません...どうすればこれを行うことができますか?

4

2 に答える 2

1

このようなものはどうですか。アイデアは、フォームが既に作成されている場合はそれに切り替え、そうでない場合は作成するというものです。これは、子フォームを作成するときに mdiParent を正しく設定していることを前提としています。このコードは、mdiParent で実行するか、MdiChildren プロパティにアクセスするために参照する必要があります。

For Each f In Me.MdiChildren
    If TypeOf (f) Is Form1 Then
        f.Show()
        Exit Sub
    End If
Next

Dim frm As New Form1
frm.Show()
于 2012-11-23T21:32:00.963 に答える
0

おそらく代わりに:

dim ChildFormThere as Boolean = False ' Or True

あなたがすることができます:

dim ChildForm as New ChildFormClass

' On Create Button Click:
ChildForm.Visible = True

このように、常に同じインスタンスであるため、表示されるかどうかを簡単に管理する必要があります。

于 2012-11-23T21:30:31.923 に答える