Des controles dans une classe différente du Form

gbraux Messages postés 1 Date d'inscription mardi 13 décembre 2005 Statut Membre Dernière intervention 5 septembre 2006 - 5 sept. 2006 à 15:50
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 5 sept. 2006 à 16:07
Bonjour,

J'ai crée une classe Forms.Controls qui contient une méthode qui me génere dynamiquement plusieurs boutons (les parametres des boutons sont passés en parametre de la méthode).

J'aurais souhaité appeller cette méthode depuis mon form de base (situé dans une autre classe) et faire en sorte que les boutons ainsi générés soit affichés sur mon form ...

Bien sur, je ne peux pas instancier Form1 depuis ma classe Form.Controls, car je ne veux pas que le form soit réinitialisé ...

J'ai bien essayé plusieurs méthodes pour faire communiquer mes deux classes entre elles (ControlCollections ...), mais sans succes.

Merci de votre aide,

Guillaume

1 réponse

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 38
5 sept. 2006 à 16:07
je procèderais ainsi :

classe : Forms.Controls avec une méthode statique... CreateControls (par exemple).
Celle-ci doit retourner un tableau de Control.

tu auras donc le prototype suivante : public static Control[] Forms.Controls.CreateControls(params);

et tu l'utilises comme ceci dans ton formulaire :

this.Controls.AddRange(Forms.Controls.CreateControls( ...params...));

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
0