2010-02-02 11 views
1

Dans mon application ... pour naviguer entre WinForms ce que je fais est que je fais un objet du formulaire qui doit être montré et j'utiliserC# Winforms Parent instances d'enfants

Register reg = new Register() 
reg.show(); 

cette chose a deux problèmes

  • si je le fais avec un bouton, plus une instance de même forme pourrait être ouvert .
  • Si je ferme à travers lequel l'instance a été créée, le formulaire enfant reste opend.

quelle est la solution ....

Répondre

-2

Jetez un oeil à this exemple de code de la galerie de code MSDN. Si vous passez par le code en détail, vous devriez être bon d'aller

+0

les deux probl; sme j'ai énuméré, l'échantillon a le problème samp # 1. Et pour le problème n ° 2 qui semble être résolu dans l'échantillon. essayez de ne pas résoudre un autre enfant d'un enfant. pas utile buddy – Moon

+0

Si vous allez le suivre aveuglément alors il n'y a pas d'utilisation. Downvoting moi pour cette raison est tout simplement impoli, totalement non réclamé pour – Perpetualcoder

1

ont la forme d'enfant prendre comme paramètre le formulaire parent:

Form2 f2 = new Form2(this); 
this.hide(); 
f2.show(); 

puis lorsque vous souhaitez fermer la nouvelle forme que vous venez de proximité et montre à nouveau le formulaire parent.

Code de Form2:

private Form Fatherform; 

Form2(Form father){ 
    Fatherform = father; 
} 

Form2_closeevent(...) 
{ 
    if(Fatherform != null) 
     Fatherform.show(); 
+0

non non homme ... le problème est que quand je ferme le pèreforme .. toutes les formes de l'enfant doivent fermer ... – Moon

+0

ah, mon mauvais. alors vous voulez Application.Exit(); –

+0

no. non ... je voulais juste fermer sur l'enfant ... hey j'ai trouvé la solution .. Je ne vais pas créer d'instances dans un événement de clic de bouton et à la fermeture de ce formulaire je vais fermer tous les formulaires enfants. – Moon