Visual Basic 6 форма - PullRequest
       9

Visual Basic 6 форма

2 голосов
/ 11 октября 2009

Как я могу узнать, что форма (кроме той, над которой я работаю) открыта или закрыта?

Ответы [ 3 ]

7 голосов
/ 11 октября 2009

Вы должны различать Загруженный и Видимый .

  • Для наглядности просто проверьте свойство 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 содержит все загруженные в настоящее время формы.

3 голосов
/ 11 октября 2009

Вы можете искать коллекцию форм

Dim aForm
For Each aForm In Forms
  If aForm Is Form1 Then
    MsgBox "Found Form1"
  End If
Next
1 голос
/ 11 октября 2009

Если форма находится в вашем приложении, вы можете просто отслеживать ее состояние внутри. В конце концов - вы контролируете точки в коде, когда он может быть создан или уничтожен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...