Fermeture d'une fenetre et ouverture d'une nouvelle en un seul click? [Résolu]

bouli66 6 Messages postés mardi 23 mai 2006Date d'inscription 5 juillet 2006 Dernière intervention - 23 mai 2006 à 16:39 - Dernière réponse : bouli66 6 Messages postés mardi 23 mai 2006Date d'inscription 5 juillet 2006 Dernière intervention
- 24 mai 2006 à 10:02
Bonjours, je suis en train de pofiner un programme que j'ai réalisé sous VB.net et un petit problème se pose depuis ce matin et j'avance plus.


Mon programme principal est fini et tourne, et j'ai voulu rajouter une fenetre de copyright pour faire le malin, donc j'ai créer une nouvelle fenetre, que j'ai dessiné et paramétré et j'ai configuré dans les propriétés de mon projet le fait que cette fenetre soit celle qui s'ouvre en 1er. Jusque la tout va bien. Sauf que je voudrais qu'en cliquant sur le bouton Yes, I agree (référence a un copyright) cette fenetre en question se ferme pour ouvrir la fenetre de mon vrai programme. Or, autant j'arrive a ouvrir mon "vrai" programme, autant ma page copyright ne veut pas partir...


Voici le programme de mon bouton "yes, I agree":


Private
Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button1.Click



Dim
frmMainDialog

As



New
frmMain



frmMainDialog.Show()



Me
.Close()




End



Sub

frmMain représente mon "vrai" programme. J'ai compris qu'en le définissant comme showdialog, ca le lié à la fenetre copyright, m'empéchant d'exécuter la ligne suivante Me.close.
Du coup, je l'ai ensuite (je parle de ma page principale) définie en Show au lieu de showdialog, n'étant pas lié, la ligne suivante s'exécute mais ferme les 2 fenetres...

Connaitriez vous la ligne de code que je dois mettre a la place de "Me.Close()" pour fermer ma fenetre copyright tout en laissant ma fenetre frmMain ouverte?

Sinon je me demandais s'il fallait pas passer par un Sub Main pour réaliser ma page copyright... j'espere que non parce que je vois pas du tout comment configurer ce genre de page (sub main)

j'espere que vous avez réussi à me comprendre, j'explique aussi mal que je comprend la programmation...
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
cs_franckydeluka 228 Messages postés mardi 5 avril 2005Date d'inscription 4 janvier 2008 Dernière intervention - 24 mai 2006 à 09:55
3
Merci
C'est à partir de ta fenêtre de démarrage que tu crée toutes les autres fenêtres (new form)
C'est pour cela qu'il vaut mieux avoir la fenêtre de démarrage = fenêtre principale du programme
ensuite il n'y a pas qu'une seule manière de coder et si tu veux que ce soit la fenêtre de copyright tu peux utiliser un truc du genre :

'*********************************
'dans le bouton "Yes, I agree"
Dim
FormPrincipale AsNew FormPrincipale
   'cache la fenêtre de copyright
   Me.Hide()
   'fait apparaître ta fenêtre principale
   FormPrincipale.ShowDialog()
   'puis une fois que tu quittes ta fenêtre principale l'execution de ton programme arrivera ici
   'tu fermes donc aussi ta fenêtre de copyright
   Me.Close()

'****************************

++

Deluka.

Merci cs_franckydeluka 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_franckydeluka
cs_franckydeluka 228 Messages postés mardi 5 avril 2005Date d'inscription 4 janvier 2008 Dernière intervention - 23 mai 2006 à 16:49
0
Merci
ce n'est pas Me.close mais frmMainDialog.close qu'il faut mettre

mais Attention dans ce cas-là ta fenêtre ne fera qu'apparaître pour disparaître juste après.
Peut-être vaut-il mieux de laisser le frmMainDialog.showdialog ??

Deluka.
Commenter la réponse de cs_franckydeluka
bouli66 6 Messages postés mardi 23 mai 2006Date d'inscription 5 juillet 2006 Dernière intervention - 23 mai 2006 à 16:59
0
Merci
arf non on s'est mal compris,

je veux que frmMainDialog reste ouverte c'est mon programme!

Imagine, quand on lance mon programme, il y a une 1ere page qui s'affich avec les histoires de copyright et 2 boutons: YES ou NO. Je voudrais qu'en cliquant sur yes, la page de copyright se ferme et la page du programme principal s'ouvre.

Avec le frmMainDialog.show (ou shodialog), j'arrive a faire apparaitre la page de mon programme, maintenant il ne me reste plus qu'une ligne pour fermer la page de copyright.

J'ai tenté Me.close() pour voir, et en fait ca ferme les 2 pages, si je ne met rien du tout, la page de copyright reste en arriere plan, et moi je voudrais qu'elle se ferme pour ne laisser que la page de mon programme principal ouverte
Commenter la réponse de bouli66
cs_franckydeluka 228 Messages postés mardi 5 avril 2005Date d'inscription 4 janvier 2008 Dernière intervention - 23 mai 2006 à 17:08
0
Merci
oups..
okay dans ce cas-là il faut que ta page de démarrage soit ta page principale et que dans le chargement (form_load) de ta page principale tu charges la page de copyright.
ensuite si l'utilisateur click sur Okay alors tu continue le chargement sinon tu quittes le programme.

'***************************************************************
Private
Sub frmmaindialog_load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load

Dim frmCopyright
As
New frmCopyright

frmCopyright .ShowDialog()

frmCopyright
.Close()

'
'la suite de ton code
'

End
Sub
'***************************************************************

Bonne prog

Deluka.
Commenter la réponse de cs_franckydeluka
JB76000 135 Messages postés vendredi 4 juin 2004Date d'inscription 14 février 2013 Dernière intervention - 23 mai 2006 à 17:13
0
Merci
Ou plus simple, définit ta page copyright comme page de démarrage

Jer
Commenter la réponse de JB76000
bouli66 6 Messages postés mardi 23 mai 2006Date d'inscription 5 juillet 2006 Dernière intervention - 23 mai 2006 à 17:22
0
Merci
oula deluka j'ai pas tout compris a ton conseil mais je crois que tu cherches trop compliqué (en tout cas pour moi ca l'est, je suis perdu lol)

Jer, j'ai défini ma page copyright comme page de démarrage, ca y'a pas de soucis, j'ai meme réussi a faire apparaitre mon programme quand l'utilisateur clique sur "yes I agree", il me manque juste une ligne pour faire disparaitre ma page copyright en meme temps que s'ouvre la page de mon programme principal, parce qu'une fois qu'on a dit qu'on était d'accord avec les consignes, pas besoin de les avoir en arriere plan tout le temps ;-).
Pour vous dire, a la place de la ligne Me.close(), j'ai tenté un truc du style:
copyright_load.enabled = false

ou bien
copyright_load.hide() pour rappeler du vb6,

mais ca me donne des erreurs de syntaxe a chaque fois.
Commenter la réponse de bouli66
crenaud76 4172 Messages postés mercredi 30 juillet 2003Date d'inscription 9 juin 2006 Dernière intervention - 24 mai 2006 à 00:04
0
Merci
Sauf que c'est lui qui a la bonne soluce !!! Il faut que ta page principale soit ta page de démarrage, et que celle-ci ouvre "la page de copyright" via un ShowDialog() (ce qui va bloquer l'execution du code de la form principale tant que la fenêtre Copyright sera à l'écran) En fonction du retour de ton ShowDialog, tu poursuit le chargement de la form principale, ou tu ferme ton prog.
Commenter la réponse de crenaud76
bouli66 6 Messages postés mardi 23 mai 2006Date d'inscription 5 juillet 2006 Dernière intervention - 24 mai 2006 à 10:02
0
Merci
yes!!!

c'est exactement ce qu'il me fallait! maintenant ma page copyright s'affiche en 1er, et disparait pour laisser la place au programme principal lorsqu'on accepte les conditions d'utilisation

merci beaucoup pour avoir pris le temps de se pencher sur mon problème et pour avoir répondu aussi vite!
Commenter la réponse de bouli66

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.