Bonjour,


Dans une appli, je voudrais pouvoir fermer une fenêtre en cas d'erreur dans le "OnLoad". J'ai donc fait ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
private void MaForm_Load(object sender, EventArgs e)
{
    try
    {
        ...
    }
    catch(Exception x)
    {
        ...
        this.Close();
    }
}
Voici mon problème :

Lorsque j'ouvre la Form en mode "normal" :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Form1 f = new Form();
f.Show();
tout se passe bien en cas de levée d'erreur... La fenêtre se ferme sans même apparaître.

Maintenant si je veux ouvrir la fenêtre en tant que fille Mdi, j'ai un plantage !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Form1 f = new Form();
f.MdiParent = this;
f.Show();
L'erreur levée est "InvalidOperationException - Value Close() cannot be called while doing CreateHandle()"

Pourquoi ai-je cette levée d'exception ?

Comment faut-il faire alors pour fermer une fenêtre Mdi lorsqu'on rencontre un problème dans le "OnLoad" ?

Merci.