20. juni 2004 - 22:24Der er
13 kommentarer og 1 løsning
Event ved hide form
Jeg har i min applikation en form, der kan lukkes med Esc, en knap eller med krydset øverst tilhøjre. Findes der en event, der kaldes, når brugeren trykker på krydset? Jeg kender unload og queryunload, men mener ikke at disse kan bruges ved hide form. Der er ifølge hjælpen en Sub object_hide(), men sætter jeg den til Sub Form_hide() får jeg den ikke aktiveret.
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) If MsgBox("Vil du afslutte?", vbYesNo, "Afslut") = vbNo Then Cancel = True End Sub
Nu har jeg afprøvet på form1 (hovedmenuen) og form2 (åbnes fra form1). Når jeg lukker form2 på krydset fanges dette ganske rigtigt af både Sub Form_QueryUnload og Sub Form_Unload, men problemet er, at når form1 herefter lukkes på krydset fanges den igen og det ønsker jeg ikke. Kan man ikke på en eller anden måde 'slå den ihjel', når form2 er lukket med krydset?
Synes godt om
Slettet bruger
21. juni 2004 - 19:35#6
Et gæt(har ikke lige adgang til VB): Prøv at sætte set form2 = Nothing ind efter du har gjort det du skal gøre på Form2's enten unload eller queryunload.
Hmm, du må teste på hvilken form trykket sendes fra. Men det er jo ikke en parameter i _QueryUnLoad... Du kunne jo fx. tælle hvor mange forms der er i sving, og er der KUN en form, er det jo form1, og så sætter du bare Cancel = True
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) If Forms.Count = 1 Then Cancel = True Else Cancel = False End If Form2.Hide End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.