我想一次只保留一個活動子窗體。我想在以MDI形式開放任何孩子時處置其他孩子。 我已經嘗試了很多可能的方式沒有運氣。有一個單獨的類功能來完成骯髒的工作將是很好的。任何幫助將不勝感激。 下面是示例代碼窗體類:在VB.NET MDI表單中一次打開單個子窗體
進口的System.Reflection
Class closeHelper
Public Shared Sub HideAllForms()
Dim currentAssembly As Assembly = Assembly.GetExecutingAssembly()
Dim count As Integer = Application.OpenForms.Count
For i As Integer = 0 To count - 1 Step +1
Dim f As Form = Application.OpenForms(i)
If f.[GetType]().Assembly Is currentAssembly AndAlso f.Name <> "frmMDI" Then 'Here 'frmMDI' is the name of mdiform.
f.Close()
End If
Next
End Sub
End Class
我收到以下錯誤把它稱爲:索引超出範圍。必須是非負數且小於集合的大小。 參數名稱:索引 – SOAMad 2014-09-12 19:33:41
刪除時務必執行**反向**循環。 '對於我作爲整數=(count - 1)到0步-1'的基本知識。 – 2014-09-12 19:36:01
是的,我知道,但是我認爲這可能有助於達到計數。我再次嘗試,結果是一樣的。出現錯誤「索引超出範圍,必須是非負數,並且小於集合的大小。 參數名稱:index」在Application.OpenForms(i)處,並且下劃線。 ({「索引超出範圍,必須是非負值,小於集合的大小 參數名稱:索引」}) – SOAMad 2014-09-12 19:39:57