Как я могу узнать, что форма (кроме той, над которой я работаю) открыта или закрыта?
Форма Visual Basic 6
Ответы (3)
Вы должны различать Загружено и Видимо.
- Для наглядности просто проверьте свойство
Visible(обратите внимание, что если это сделать для незагруженной формы, она загрузится). Для состояния загрузки к сожалению нет свойства. Вам нужно перебрать все формы и посмотреть, содержится ли ваша форма в списке загруженных форм:
Public Function IsFormLoaded(FormToCheck As Form) As Boolean Dim F As Form For Each F In Forms If F Is FormToCheck Then IsFormLoaded = True Exit Sub End If Next End Sub
Глобальная коллекция Forms содержит все загруженные в данный момент формы.
person
Daniel Rikowski
schedule
11.10.2009
Вы можете выполнить поиск в коллекции форм
Dim aForm
For Each aForm In Forms
If aForm Is Form1 Then
MsgBox "Found Form1"
End If
Next
person
Jan Willem B
schedule
11.10.2009
Если форма находится в вашем приложении, вы можете просто отслеживать ее состояние внутри. В конце концов, вы контролируете точки в коде, когда он может быть создан или уничтожен.
person
Greg D
schedule
11.10.2009