1.创建form数组(控件数组)
Public Class FormsCollection
Inherits CollectionBase
Public Shadows Function Add(ByVal FormObject As Form) As Form MyBase.List.Add(FormObject) Return FormObject
End Function
Public Shadows Sub Remove(ByVal FormObject as Form) MyBase.List.Remove(FormObject)
End Sub End Class
2.在模块中定义数组实例
Module module1
Public Forms As FormsCollection Sub Main() Forms = New FormsCollection() Application.Run(New Form1())
End Sub
End Module
3.在程序中使用数组(在form1中)
Public Sub New() MyBase.New()
'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call.
Forms.Add(Me)
End Sub
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
Forms.Remove(Me)
End Sub
在form1的一个按钮单击事件中:
Dim LoopForm As Form
Dim getform as form_2
For Each LoopForm In Forms
If loopform.name=”form 2” then ‘开始判断是否创建了form2的实例
MessageBox.Show(“已经存在”)
Getform=loopform
Exit for
End if
Next