none
"Me.Hide" ne marche pas dans le Load du Form1 RRS feed

  • Question

  • Bonjour, 

    Je suis entrain de développer un petit logiciel sur vb.net où dans la Form1.Load j'ai inséré les codes qui fait un test de l'existence d'un fichier, et que si le fichier existe je ça passe au Form2 avec la syntaxe :  Form2.Show Me.Hide mais lorsque je fais le debogage, tout les deux formulaire s'ouvrent.  Aidez moi s'il vous plaît.

    Voici les codes que j'ai inséré :

    Private Sub Form2_Load (sender as Objet, e as EventArgs) Handles MyBase.Load
          
         If My.Computer.FileSystem.FileExists (Application.StartupPath & "\Entre.gesti") Then
                   MsgBox ("Le fichier gesti existe")
                    Form2.Show
                    Me.Hide
         Else
                   MsgBox ("Vous n'êtes pas encore enregistré")
                   Form3.Show
         EndIf 
    End Sub
    mercredi 22 novembre 2017 15:44

Réponses

  • Bonjour,

    Vous ne pouvez pas masquer un formulaire dans l'événement 'Load" car il est provoqué AVANT que la fenêtre ne s'affiche, donc la méthode "Hide()" n'a aucun effet.

    Plusieurs solutions s'offrent à vous:

    • ne pas masquer votre fenêtre, mais ouvrir la seconde en mode modal pour empêcher l'utilisateur d'utiliser la première fenêtre
    • créer un champ Boolean indiquant si vous devez masquer votre fenêtre, et dans l'événement "Activated" si le champ est à True alors vous provoquez un "Hide()" (ne pas oublier de mettre votre champ à False sinon il se masquera à chaque fois que votre fenêtre s'affichera).
    • Utiliser un timer qui va masquer votre fenêtre au bout d'un court laps de temps (quelques millisecondes)

    Cordialement,


    Yan Grenier

    Merci de bien vouloir "Marquer comme réponse", les réponses qui ont répondues à votre question, et de noter les réponses que vous avez trouvé utiles.

    mercredi 22 novembre 2017 16:38