Wat is het verschil tussen Form1.Hide en Unload Me?

Hide and Unload zijn technieken in Visual Basic 6-VB.NET doet het anders. In VB6 kunt u het verschil duidelijk zien door een formulier te maken met een CommandButton-component en een testverklaring in de Click-gebeurtenis. Merk op dat deze twee verklaringen elkaar uitsluiten, zodat er slechts één tegelijkertijd kan worden getest.

Visual Basic 6 Unload-instructie

Met de opdracht Unload wordt het formulier uit het geheugen verwijderd. In de meeste eenvoudige VB6-projecten is Form1 het opstartobject, zodat het programma ook stopt met werken. Om dit te bewijzen, codeert u het eerste programma met Unload.

Private Sub Command1_Click ()
   Ontlaad me
Einde Sub

Wanneer in dit project op de knop wordt geklikt, stopt het programma.

Visual Basic 6 Verklaring verbergen

Om Hide te demonstreren, voert u deze code in VB6 uit zodat de Hide-methode van Form1 wordt uitgevoerd.

Private Sub Command1_Click ()
   Form1.Hide
Einde Sub

Merk op dat Form1 van het scherm verdwijnt, maar het vierkante pictogram "Einde" op de werkbalk Debug geeft aan dat het project nog steeds actief is. Als u twijfelt, geeft Windows Taakbeheer dat wordt weergegeven met Ctrl + Alt + Del aan dat het project nog steeds in de Run-modus is.

Communiceren met een verborgen vorm

De methode Verbergen verwijdert alleen het formulier van het scherm. Er verandert niets anders. Een ander proces kan bijvoorbeeld nog steeds communiceren met objecten in het formulier nadat de methode Hide is aangeroepen. Hier is een programma dat dat aantoont. Voeg een ander formulier toe aan het VB6-project en voeg vervolgens een timeronderdeel en deze code toe aan Form1:

Private Sub Command1_Click ()
   Form1.Hide
   Form2.Show
Einde Sub

Private Sub Timer1_Timer ()
   Form2.Hide
   Form1.Show
Einde Sub

Voeg in Form2 een opdrachtknopbesturing en deze code toe:

Private Sub Command1_Click ()
   Form1.Timer1.Interval = 10000 '10 seconden
   Form1.Timer1.Enabled = True
Einde Sub

Wanneer u het project uitvoert, klikt u op de knop op Form1 waardoor Form1 verdwijnt en Form2 verschijnt. Als u echter op de knop op Form2 klikt, gebruikt de Timer-component op Form1 10 seconden voordat Form2 verdwijnt en Form1 weer verschijnt, hoewel Form1 niet zichtbaar is.

Omdat het project nog steeds loopt, blijft Form1 elke 10 seconden verschijnen - een techniek die je misschien gebruikt om op een dag een collega te besturen.