Des controles dans une classe différente du Form

Signaler
Messages postés
1
Date d'inscription
mardi 13 décembre 2005
Statut
Membre
Dernière intervention
5 septembre 2006
-
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
-
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

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
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#]