Hide and Unload är tekniker i Visual Basic 6-VB.NET gör saker annorlunda. I VB6 kan du se skillnaden tydligt genom att skapa ett formulär med en CommandButton-komponent och ett testuttalande i Click-händelsen. Observera att dessa två uttalanden är ömsesidigt exklusiva, så att endast en kan testas i taget.
Unload-uttalandet tar bort formuläret från minnet. I de flesta enkla VB6-projekt är Form1 startobjektet så programmet slutar också köra. För att bevisa detta, kod det första programmet med Unload.
Privat subkommando1_Klicka ()
Lossa mig
Avsluta under
När du klickar på knappen i det här projektet stannar programmet.
För att visa Hide, kör denna kod i VB6 så att Hide-metoden i Form1 körs.
Privat subkommando1_Klicka ()
Form1.Hide
Avsluta under
Observera att Form1 försvinner från skärmen, men den fyrkantiga ikonen "Avsluta" i felsökningsverktygsfältet visar att projektet fortfarande är aktivt. Om du är osäker visar Windows Task Manager som visas med Ctrl + Alt + Del att projektet fortfarande är i körläge.
Hide-metoden tar bara bort formuläret från skärmen. Inget annat ändras. Till exempel kan en annan process fortfarande kommunicera med objekt på formuläret efter att Hide-metoden har kallats. Här är ett program som visar det. Lägg till ett annat formulär i VB6-projektet och lägg sedan till en Timer-komponent och denna kod till Form1:
Privat subkommando1_Klicka ()
Form1.Hide
Form2.Show
Avsluta under
Private Sub Timer1_Timer ()
Form2.Hide
Form1.Show
Avsluta under
Lägg till en kommandoknappkontroll i Form2 och denna kod:
Privat subkommando1_Klicka ()
Form1.Timer1.Interval = 10000 '10 sekunder
Form1.Timer1.Enabled = Sant
Avsluta under
När du kör projektet genom att klicka på knappen på Form1 får Form1 att försvinna och Form2 visas. Men genom att klicka på knappen på Form2 används Timer-komponenten på Form1 för att vänta 10 sekunder innan Form2 försvinner och Form1 visas igen trots att Form1 inte är synlig.
Eftersom projektet fortfarande körs fortsätter Form1 att visas var tionde sekund - en teknik som du kan använda för att driva en kollega en dag.