A la fermeture d'une Form1 ouvrir une Form2 [Résolu]

Messages postés
13
Date d'inscription
vendredi 8 mai 2015
Dernière intervention
16 novembre 2015
- - Dernière réponse : NHenry
Messages postés
14321
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
13 décembre 2018
- 15 mai 2015 à 17:31
Salut à tous.

A l'ouverture de mon application j'ai une Form1 (c'est un formulaire avec FormBorderStyle=none, qui me permet de charger des informations) qui s'affiche en modal.
A la fin des différents traitement la Form1 doit se fermer et ouvrir une Form2 en modal.
Voici mon code
Private Sub Form1_Activated(sender As Object, e As EventArgs) Handles Me.Activated
        Label6.Text = "de la raison sociale de l'entreprise"
        AffichageNomSociete()
        Application.DoEvents()

        System.Threading.Thread.Sleep(1000)

        Label6.Text = "des différentes liste de type et de mesure d'article"
        RemplirListeTypeArticle()
        RemplirListeMesure()
        RemplirListeStock()
        Application.DoEvents()

        System.Threading.Thread.Sleep(1000)

        Label6.Text = "de la liste des articles"
        AffichageListeArticle()
        Application.DoEvents()

        System.Threading.Thread.Sleep(1000)

        Form2 .ShowDialog()

        Me.Close()
    End Sub


A la fin du traitement la Form2 s'affiche bien, mais la Form1 reste toujours affichée derrière la Form2. Or Form1 doit plus être afficher, il doit être fermer.

Je n'arrive pas à trouver de solution.
J'ai besoin de vos aides.
Afficher la suite 

Votre réponse

2 réponses

Messages postés
14321
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
13 décembre 2018
0
Merci
Une petite recherche dans l'aide t'aurais indiqué que :
Form2 .ShowDialog()
est bloquant et donc tant que Form2 est affiché, le code n'avance plus.

Utilises simplement :
Form2 .Show()
Commenter la réponse de NHenry
Messages postés
13
Date d'inscription
vendredi 8 mai 2015
Dernière intervention
16 novembre 2015
0
Merci
Merci pour ta remarque pertinente.
En utilisant Form2 .Show() et après fermeture de la Form1, la Form2 n'est pas affichée elle est réduite.
En faisant Form2 .Show(), la Form2 reste en mode réduit elle n'est pas affichée à la fermeture de la Form1.

J'ai trouvé une solution qui me convient:
A l'ouverture de l'application afficher Form2 en ShowDialog puis dans le load de la Form2 ouvrir Form1 en ShowDialog.
Ainsi Form1 reste affiché en modal et après fermeture Form2 est affiché aussi en modal.

Merci pour vos aides.
NHenry
Messages postés
14321
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
13 décembre 2018
-
Pas forcément, mais je ne vois pas ce que tu as pu testé pour ne pas avoir accès à cette propriété en mode exécution.
namo2015
Messages postés
13
Date d'inscription
vendredi 8 mai 2015
Dernière intervention
16 novembre 2015
> NHenry
Messages postés
14321
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
13 décembre 2018
-
Ok j'ai pu avoir la propriété WindowState de la Form2 en mode exécution elle reste toujours à normal pour rappel j'utilise VS 2013 express
NHenry
Messages postés
14321
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
13 décembre 2018
-
Donc la form n'est pas réduite, mais en arrière plan, je pense.
Il faut peut être lui donner le focus.
namo2015
Messages postés
13
Date d'inscription
vendredi 8 mai 2015
Dernière intervention
16 novembre 2015
> NHenry
Messages postés
14321
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
13 décembre 2018
-
J'ai essayé avec Form2.Activate() mais elle reste toujours en arrière plan. Avec quoi tu donnerais le focus à la form
NHenry
Messages postés
14321
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
13 décembre 2018
> namo2015
Messages postés
13
Date d'inscription
vendredi 8 mai 2015
Dernière intervention
16 novembre 2015
-
Commenter la réponse de namo2015

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.