Is Nothing 和Load是两个不同的概念,是否Is Nothing表示对象有没有实例化,有没有把一个具体的对象实例赋给变量;而是否Load则是针对一个已经实例化的窗口的状态(是否已加载),没有实例化的窗口是不能Load的!
VB中我们通常用的窗口的名字都是与窗口的类名一样,是自动实例化了的,所以是Not Is Nothing的,但未必Load过,而如果我们这样定义一个窗口:
Dim frm As Form2
在执行 Set frm=New Form2操作之前,frm Is Nothing,
如果这时执行 Load frm 就是错误的。
Function IsFrmLoaded(ByVal strfrmName As String) As Boolean
Dim f As Form
For Each f In Forms
If f.Name = strfrmName Then
IsFrmLoaded = True
Exit Function
End If
Next
IsFrmLoaded = False
End Function