Unterschied zwischen Form1.Hide und Unload Me in VB 6

click fraud protection

Verstecken und Entladen sind Techniken in Visual Basic 6—VB.NET macht die Dinge anders. In VB6 können Sie den Unterschied deutlich erkennen, indem Sie im Click-Ereignis ein Formular mit einer CommandButton-Komponente und einer Testanweisung erstellen. Beachten Sie, dass sich diese beiden Anweisungen gegenseitig ausschließen, sodass jeweils nur eine getestet werden kann.

Visual Basic 6-Entladeanweisung

Die Unload-Anweisung entfernt das Formular aus dem Speicher. In den meisten einfachen VB6-Projekten ist Form1 das Startobjekt, sodass auch das Programm nicht mehr ausgeführt wird. Um dies zu beweisen, codieren Sie das erste Programm mit Unload.

Private Sub Command1_Click ()
Entlade mich
End Sub

Wenn Sie in diesem Projekt auf die Schaltfläche klicken, wird das Programm gestoppt.

Visual Basic 6-Anweisung ausblenden

Führen Sie diesen Code in VB6 aus, um das Ausblenden zu demonstrieren, damit die Hide-Methode von Form1 ausgeführt wird.

Private Sub Command1_Click ()
Form1.Hide
End Sub

Beachten Sie, dass Form1 vom Bildschirm verschwindet, das quadratische Symbol "Ende" in der Debug-Symbolleiste jedoch anzeigt, dass das Projekt noch aktiv ist. Im Zweifelsfall zeigt der Windows-Task-Manager, der mit Strg + Alt + Entf angezeigt wird, dass sich das Projekt noch im Ausführungsmodus befindet.

instagram viewer

Kommunikation mit einem versteckten Formular

Die Methode Ausblenden entfernt nur das Formular vom Bildschirm. Sonst ändert sich nichts. Beispielsweise kann ein anderer Prozess nach dem Aufruf der Hide-Methode weiterhin mit Objekten im Formular kommunizieren. Hier ist ein Programm, das das demonstriert. Fügen Sie dem VB6-Projekt ein weiteres Formular hinzu und fügen Sie dann Form1 eine Timer-Komponente und diesen Code hinzu:

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

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

Fügen Sie in Form2 ein Befehlsschaltflächensteuerelement und diesen Code hinzu:

Private Sub Command1_Click ()
Form1.Timer1.Interval = 10000 '10 Sekunden
Form1.Timer1.Enabled = True
End Sub

Wenn Sie das Projekt ausführen, wird durch Klicken auf die Schaltfläche in Form1 Form1 ausgeblendet und Form2 angezeigt. Wenn Sie jedoch auf die Schaltfläche in Form2 klicken, wartet die Timer-Komponente in Form1 10 Sekunden, bevor Form2 ausgeblendet wird und Form1 erneut angezeigt wird, obwohl Form1 nicht sichtbar ist.

Da das Projekt noch ausgeführt wird, wird Form1 alle 10 Sekunden angezeigt - eine Technik, mit der Sie möglicherweise eines Tages einen Kollegen in die Knie zwingen.

instagram story viewer