Rubrik: Oberfläche · Fenster | VB-Versionen: VB4, VB5, VB6 | 30.12.00 |
Ist ein Formular geladen? Anhand der Forms-Auflistung wird geprüft, ob ein bestimmtes Formular bereits geladen ist. | ||
Autor: Dieter Otter | Bewertung: | Views: 25.694 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Mit der nachfolgenden Prozedur können Sie prüfen, ob ein bestimmtes Formular bereits geladen wurde. Die Funktion gibt den wert True zurück, falls das Formular geladen ist bzw. False, wenn das Formular noch nicht geladen wurde.
' Prüfen, ob Formular geladen Public Function IsFormLoaded(ByVal fName As String) _ As Boolean Dim I As Integer IsFormLoaded = False For I = 0 To Forms.Count - 1 If LCase$(Forms(I).Name) = LCase$(fName) Then IsFormLoaded = True Exit For End If Next I End Function
Anmerkungen:
Übergeben Sie der Funktion IsFormLoaded den internen verwendeten Formularnamen (Name-Eigenschaft der Form). Die Groß-/Kleinschreibung spielt keine Rolle.
Beispiel
If IsFormLoaded("MainForm") Then MainForm.Show Else Load MainForm MainForm.Show End If
Die Funktion läßt sich noch erweitern, um z.B. anstelle nach dem internen verwendeten Formularnamen optional nach dem Fenstertitel zu suchen (Caption-Eigenschaft der Form).
' Prüfen, ob Formular geladen Public Function IsFormLoaded(ByVal fName As String, _ Optional ByVal bCaption As Boolean = False) As Boolean Dim I As Integer IsFormLoaded = False If (bCaption) Then For I = 0 To Forms.Count - 1 If LCase$(Forms(I).Caption) = LCase$(fName) Then IsFormLoaded = True Exit For End If Next I Else For I = 0 To Forms.Count - 1 If LCase$(Forms(I).Name) = LCase$(fName) Then IsFormLoaded = True Exit For End If Next I End If End Function
Beispiel:
If IsFormLoaded("Willkommen", True) Then MainForm.Show Else Load MainForm MainForm.Show End If