2009-11-19 6 views
0

J'ai une application basée sur une boîte de dialogue.C# winforms Problème de chargement de formulaire enfant

J'ai besoin de montrer une fenêtre enfant comme celui-ci:

(1) Tout d'abord, la fenêtre de dialogue principale de l'application sera affiché,

(2) puis, une fenêtre de dialogue enfant apparaîtra automatiquement en haut de ça.

Vous savez, il ne suffit pas d'appeler le ShowDialog() de la fenêtre enfant dans le constructeur ou l'événement de chargement de la fenêtre parent. Coz dans ces cas, la fenêtre enfant apparaîtra en premier.

Que dois-je faire pour y parvenir?

Répondre

2

L'utilisation peut utiliser l'événement affiché dans votre boîte de dialogue principale pour montrer l'enfant devant votre boîte de dialogue principale. Cet événement n'est levé qu'une seule fois, lorsque la boîte de dialogue principale est affichée la première fois. Vous devez également utiliser la méthode Show() (pas ShowDialog), puis appeler BringToFront() de votre boîte de dialogue enfant.

private void OnShown(EventArgs e) { 
    ChildDialog child = new ChildDialog(); 
    child.Show(this); 
    child.BringToFront(); 
} 
+0

Quel serait le problème avec ShowDialog? – anonymous

+0

Vous pouvez utiliser ShowDialog, mais le ChildDialog est montré modulaire. Peut-être que c'est bon pour toi. – Jehof

Questions connexes