Quelle est la différence entre Form1.Hide et Unload Me?

Masquer et décharger sont des techniques dans Visual Basic 6-VB.NET font les choses différemment. Dans VB6, vous pouvez voir clairement la différence en créant une fiche avec un composant CommandButton et une instruction de test dans l'événement Click. Notez que ces deux instructions s'excluent mutuellement, donc une seule peut être testée à la fois.

Instruction de déchargement de Visual Basic 6

L'instruction Unload supprime le formulaire de la mémoire. Dans la plupart des projets VB6 simples, Form1 est l'objet de démarrage, le programme s'arrête donc également. Pour le prouver, codez le premier programme avec Décharger.

Private Sub Command1_Click ()
   Décharge-moi
End Sub

Lorsque le bouton est cliqué dans ce projet, le programme s'arrête.

Instruction Visual Basic 6 Hide

Pour illustrer Hide, exécutez ce code dans VB6 afin que la méthode Hide de Form1 soit exécutée.

Private Sub Command1_Click ()
   Form1.Hide
End Sub

Notez que Form1 disparaît de l'écran, mais l'icône carrée "Fin" sur la barre d'outils de débogage indique que le projet est toujours actif. En cas de doute, le gestionnaire de tâches Windows affiché avec Ctrl + Alt + Suppr montre que le projet est toujours en mode Exécution.

Communiquer avec un formulaire caché

La méthode Masquer supprime uniquement le formulaire de l'écran. Rien d'autre ne change. Par exemple, un autre processus peut toujours communiquer avec les objets du formulaire après l'appel de la méthode Hide. Voici un programme qui le démontre. Ajoutez une autre fiche au projet VB6, puis ajoutez un composant Timer et ce code à Form1:

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

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

Dans Form2, ajoutez un contrôle de bouton de commande et ce code:

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

Lorsque vous exécutez le projet, en cliquant sur le bouton sur Form1, Form1 disparaît et Form2 apparaît. Cependant, cliquer sur le bouton sur Form2 utilise le composant Timer sur Form1 pour attendre 10 secondes avant de faire disparaître Form2 et Form1 réapparaître même si Form1 n'est pas visible.

Étant donné que le projet est toujours en cours d'exécution, Form1 continue d'apparaître toutes les 10 secondes, une technique que vous pourriez utiliser pour conduire un collègue fou un jour.