Keresés

Új hozzászólás Aktív témák

  • #90999040

    törölt tag

    válasz vilag #1760 üzenetére

    Gondolom exit eseményt akartál írni, mert az exit sub egy kicsit más. ;)

    A lényeg az, hogy ez nem csak akkor következik be, ha az utolsó aktív vezérlőről van szó, hanem amikor egy frame-n belüli vezérlőről átváltasz egy frame-n kívülire. Ugyanis ilyenkor nem a frame-n belül levő vezérlő exit-je fut le, hanem a frame exit-je.

    Ezt pl. így ki lehet kerülni:

    A userformon belül létrehozol egy Control típusú változót, pl.: Private active As Control

    Ezután az adott frameben levő minden vezérlőjének Enter() eseményébe beírod ezt: Set active = Me.<Frame neve>.ActiveControl

    Az adott vezérlőd exit()-jébe pedig ezt:

    Private Sub <Vezérlőd>_Exit(.........
    If Not active Is Nothing Then
    'itt lehet meghívni az eseményt
    End If
    End Sub

    Ez mellett persze még a frame exit()-jét is le kell kezelni:

    Private Sub <Frame neve>_Exit(.......
    If Me.<Vezérlőd>.Name = Me.<Frame neve>.ActiveControl.Name Then
    Set active = Nothing
    'itt ugyanúgy meghívod a vezérlőd exit()-jénél végrehajtandó kódot
    End If
    End Sub

Új hozzászólás Aktív témák