2010-04-07 5 views
1

J'ai un formulaire parent et un formulaire enfant. J'ai besoin d'ouvrir le formulaire enfant au début d'une méthode, faire des tâches assez intensives et ensuite fermer le formulaire enfant à la fin.C# - Fermer un formulaire enfant du parent

Voici essentiellement ce que j'ai essayé jusqu'à présent (sans chance):

Formulaire parent:

Child child = new Child(); 

Method() 
{ 
    child.ShowDialog(); 

    //Method code here 

    child.CloseScan(); 
} 

formulaire enfant:

public void CloseScan() 
{ 
    this.Close(); 
} 

Répondre

2

Lorsque vous appelez child.ShowDialog(), la le code s'arrêtera à ce point jusqu'à ce que la boîte de dialogue soit fermée, puisque vous lui dites de fonctionner comme une boîte de dialogue modale.

Si vous souhaitez que le code continue à s'exécuter, vous devez utiliser child.Show(this); à la place. Vous pouvez ensuite faire votre "code de méthode" et fermer la fenêtre par la suite. (Ajouter "ceci" fait que le formulaire est une forme enfant du formulaire courant ...)

Questions connexes