Form + ShowDialog + Problème Inconnu [Résolu]

Signaler
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
-
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
-
Bonjour à tous,

J'ai une form qui en appelle une seconde via showdialog et j'aurais voulu que quand cette seconde form devienne invisible le programme qui c'etait arreté à showdialog ne reprenne pas la main. J'ai regarde pas mal de site mais j'ai rien trouvé, le néant.

Est ce possible ?

9 réponses

Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
22
Ben tu fait démarrer ton projet par la form principale et dans son Load, tu fait apparaitre la fenetre de login en ShowDialog. En fonciton du résultat du login tu laisses le Load de la form principale se finir ou bien tu arrêtes l'appli définitivement s'il y a eu un pb au login.
Ou alors mieux, tu passes par une sub Main() qui sera le point d'entrée de ton programme :
Celle-ci commence par afficher la boite de login en Showdialog() et en fonction du résultat, tu peux afficher la form principale (en .Show() classique en ShowDialog() la, ce sera a toi de voir ce que tu veux faire par la suite)
Perso, c'est comme cela que je le ferais.

CR
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 108 internautes nous ont dit merci ce mois-ci

Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
22
Dans un module standard :
Private Sub Main()
frmLogin.Show vbModal
if (Login est OK) Then ' A toi de voir comment tu vérifie le login (depuis DB ou autre)
frmMain.Show()
Else
MsgBox "Login incorrect !!!",vbcritical+vbokonly
End if
End Sub

Et tu mets la sub Main() comme objet de démarrage de ton projet dans les propriétés de celui-ci

CR
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 108 internautes nous ont dit merci ce mois-ci

Messages postés
1488
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
3 décembre 2007
22
Soit plus claire s'il te plait !

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
Ben j'ai une form pour se loguer quand la personne se logue et qu'il appuis sur "ok", je fais :

this.Visible = false ;
Form2 a = new Form2() ;
a.ShowDialog() ;
this.Visible = true ;

Sauf que quand Form2 devient invisible le programme reprend la main ici :

this.Visible = false ;

Form2 a = new Form2() ;

a.ShowDialog() ;
<----------------------------------

this.Visible = true ;

Ce que je voudrais éviter si possible.
Messages postés
1488
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
3 décembre 2007
22
Mouai... Déjà, tu codes en .Net je présume! Moi je ne fais que dans le VB6...

Je ne vois pas trop où se trouve ton problème!!!
Si ton ShowDialog est comme en VB6, il doit bien te renvoyer une valeur... que tu veux tester pour savoir si ça vaut la peine de réaficher ou non "this" je présume !!!

Dans ce cas, ne faudrait-il pas plutôt écrire un truc du genre :

varData = a.ShowDialog();
If Data = machinTruc Then
this.Visible = True;
Else
Form3 a = new Form3()
End
End If

!!!

De plus, pourquoi diable mets-tu des ";" après chaque ligne !?!?!? Coderais-tu en "C" ???

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
22
A priori, ce n'est pas la fenetre de login qui doit appeler la fenetre principal du programme mais plutot l'inverse non ?

CR
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
ah bon ? mais comment faire ca ?
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
Tu aurais un exemple pour que je puisse voir la manière de procéder car je ne connais pas trop les submain ?
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
ok, merci