Form + ShowDialog + Problème Inconnu

Résolu
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 29 déc. 2005 à 16:32
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 3 janv. 2006 à 13:43
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

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
30 déc. 2005 à 13:56
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
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
3 janv. 2006 à 13:16
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
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
29 déc. 2005 à 17:01
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". )
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
29 déc. 2005 à 17:12
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
29 déc. 2005 à 17:50
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". )
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
30 déc. 2005 à 10:10
A priori, ce n'est pas la fenetre de login qui doit appeler la fenetre principal du programme mais plutot l'inverse non ?

CR
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
30 déc. 2005 à 13:43
ah bon ? mais comment faire ca ?
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
3 janv. 2006 à 10:09
Tu aurais un exemple pour que je puisse voir la manière de procéder car je ne connais pas trop les submain ?
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
3 janv. 2006 à 13:43
ok, merci
0
Rejoignez-nous