Pb Fermeture formulaire enfant

cs_Caro2005 Messages postés 15 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 23 septembre 2008 - 7 juil. 2005 à 15:33
taoetc Messages postés 346 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 3 septembre 2007 - 8 juil. 2005 à 09:11
J'ai un formulaire Parent qui correspond à mon menu général.
Dans ce formulaire, j'ai une option qui permet d'ouvrir un formulaire enfant.

Dans le load du formulaire enfant, un combobox est chargé à partir des données d'une base de données. Lorsque la connexion à la bdd n'est pas possible, je catche cette exception et j'affiche une boîte de dialogue indiquant que la connexion à la bdd est impossible. Puis j'indique que le formulaire enfant doit se fermer.

Lorsque j'exécute : message exception non gérée du type System.invalidOperationException s'est produite dans system.windows.form.dll impossible d'appeler close() pendant un createhandle().

J'ai essayé de ne pas passer par les formulaires mdi parent/enfant, et d'ouvrir mon 2ème formulaire en boîte de dialogue, ok pour le message de connexion à la bdd, l'exception précédente n'est pas levée mais par contre mon programme effectue un test lorsque l'utilisateur n'a pas saisi un champ dans mon formulaire, dans ce cas j'affiche un message "veuillez saisir le champ XX", et là pouf mon formulaire se ferme en même temps que mon message (pas bon je veux que mon formulaire reste ouvert).

QQn peut-il m'aider ? Merci

2 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
7 juil. 2005 à 17:58
Je crois qu'avec un bout de code (meme épuré) de ta form fille, on y
verrait un peu plus clair. Et ce sera plus facile pour nous de déceler
le problème.



Mx
0
taoetc Messages postés 346 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 3 septembre 2007 3
8 juil. 2005 à 09:11
oui on ne peut pas fermer de fenetre pendant le load de celle ci, par contre, ce que tu peux essayer de faire , avec les fenetre mdi,

c'est de lancer une fonction de ta form enfant avec le show, cette fonction public vérifiant que tout c'est bien passé et si tout ne s'est pas déroulé normalement, tu ferme la fenetre
du style

maformEnfant.Show();
maformEnfant.VerifierChargement();

public void FormEnfant_Load()
{
if ( ChargerCombo()== false)
{
chargement= false;
return;
}
...

chargement = true;
}

public void VerifierChargement()
{
messagebox.show( "Erreur pendant le chargement de maform, fermetrure de la form");
this.Close();

}
0
Rejoignez-nous