2012-11-23 81 views
0

我有一個可以創建新的子窗體的父窗體上的按鈕。如何確保只有一個子窗體的實例是由VB.NET中的父級mdi窗體創建的

但是,我不希望創建每個表單的多個實例。我試圖把一個公共布爾父MDI形式: Dim ChildForm As Boolean = False

而在其中創建子窗體的一點: ChildFormThere = True

而在子窗體的「離開」的事件,我想我可以做這樣的:

Me.MdiParent.ChildFormThere = False

但它不承認ChildFormThere變量......怎麼可以這樣,於是做了?

回答

0

也許來代替:

dim ChildFormThere as Boolean = False ' Or True 

你可以這樣做:

dim ChildForm as New ChildFormClass 

' On Create Button Click: 
ChildForm.Visible = True 

這樣,它總是相同的實例,讓你簡單有管理,如果它是可見或不可見。

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() 
相關問題