Initialisation d'un UserControl [Résolu]

Signaler
Messages postés
81
Date d'inscription
vendredi 1 février 2002
Statut
Membre
Dernière intervention
8 octobre 2007
-
Messages postés
81
Date d'inscription
vendredi 1 février 2002
Statut
Membre
Dernière intervention
8 octobre 2007
-
Bonjour,

Je développe une application utilisant des UserControls qui seront plus ou moins visibles selon les actions utilisateurs.

Cependant j'ai un problème d'initialisation.
Je voudrais lancer une fonction d'initialisation à l'affichage du contrôle qui va effectuer une touille interne en récupérant par exemple des informations dans un fichier XML.

Tout fonctionne à l'exécution, cependant dans le mode design qui appel le contrôle (pas dans celui du controle), j'ai des erreurs.
En mode design, le designer passe surement sur ma fonction d'initialisation a la création du contrôle (lors de l'ajout du contrôle à un Panel), mais ma fonction d'initialisation fait appel à un objet qui lui n'est pas encore créé à ce stade d'où des erreurs.

Savez-vous quels sont les évènements que je peux utiliser pour indiquer qu'un controle s'affiche ou non ? Le but serait d'utiliser cet évènement pour initialiser mon contrôle. Pas avant.

J'ai essayé les fonctions Load, Enter, et VisibleChanged du contrôle, mais cela n'a pas fonctionné, le mode design plante toujours.
J'ai donc utilisé un paliatif loin d'être propre, à savoir que je déclenche l'initialisation sur l'un des objets du contrôle, c'est à dire un DataGridView et son élément Paint...

Je sais pas si j'ai été clair... Mais si vous pouviez m'aider, ça m'arrangerait pas mal.

Par avance merci.

Warwick.

2 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
Salut,

Tu peux aussi utiliser la propiété DesignMode pour adpater tes traitements au cas spécifique du mode design.

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
81
Date d'inscription
vendredi 1 février 2002
Statut
Membre
Dernière intervention
8 octobre 2007

Merci !

J'ai également trouvé des informations intéressantes ici à ce sujet :

http://www.codeproject.com/csharp/wsod.asp





Pour ceux que ça intéresse ...

Amicalement.

Warwick.