OVH Cloud OVH Cloud

Dupliquer des contrôles. Comment faire pour les handlers d'event.

2 réponses
Avatar
cyrille
Bonjour,

Afin de permetre un nombre variable de zones de saisie,
j'ais besoin de dupliquer des contr=F4les.

Je proc=E8de de cette fa=E7on (raccourci pour l'email) :

foreach( Control c in thePanel.Controls )
{
System.Type ct =3D c.GetType();
System.Reflection.ConstructorInfo ci =3D ct.GetConstructor
(System.Type.EmptyTypes);
Control c2 =3D (Control) ci.Invoke( null ) ;
c2.Name =3D UneFonctionQuiCalculLeNouveauNom();
c2.xxx =3D c.xxx ;
c2.yyy =3D c.yyy ;
// TODO : utiliser la r=E9flexion pour copier toutes les prori=E9t=E9s.
}

Il y a une chose que je ne sais pas comment copier, ceux sont les =E9vennem=
ents.
la syntaxe suivante est fausse :

c2.KeyPress +=3D c.KeyPress ;

Comment puis faire pour copier les handlers d'=E9vennements ?

merci d'avance,
cyrille

2 réponses

Avatar
cyrille
In article , .net
says...
Comment puis faire pour copier les handlers d'évennements ?



J'ais trouvé une méthode sur dotnet247.com
mais elle fonctionne pas bien pour les events.

Si je copie un Textbox, les events sont bien déclenchés depuis le nouve au
control, par contre ils sont toujours associés au control d'origine.

Par exemple,
Je copie un Textbox nommé 'Textbox1',
je renomme la copie 'Textbox2,
et bien quand je tape au clavier dans 'Textbox2',
le 'sender' du KeyPress à pour nom 'Textbox1' et en plus le focus est don né à
Textbox1.

SOURCE:
la méthode
private Control clone_control(Control src_ctl)
dans la page
http://www.dotnet247.com/247reference/msgs/58/292067.aspx

cyrille
Avatar
cyrille
In article , .net
says...
In article , am.net
says...
> Comment puis faire pour copier les handlers d'évennements ?

J'ais trouvé une méthode sur dotnet247.com
mais elle fonctionne pas bien pour les events.
SOURCE:
la méthode
private Control clone_control(Control src_ctl)
dans la page
http://www.dotnet247.com/247reference/msgs/58/292067.aspx



D'ailleurs, elle fonctionne pas bien du tout.
En fait j'obtiens des controls qui ne se dessinent pas bien ...

Je ne trouve pas d'autres solutions sur google pour dupliquer des controls ...
Help!

cyrille