Airman31
Messages postés11Date d'inscriptionvendredi 1 décembre 2006StatutMembreDernière intervention20 juillet 2009
-
25 mars 2007 à 16:02
Airman31
Messages postés11Date d'inscriptionvendredi 1 décembre 2006StatutMembreDernière intervention20 juillet 2009
-
4 avril 2007 à 11:06
Bonjour à tous,
J'effectue une application qui genere automatiquement des objets graphiques lors de son chargement.
Le probleme c'est de créer des évenements parametrés pour ces objets graphiques. Je sais à peu pres comment créer un évenement mais vu que mais objets sont générés dans une boucle, il y a que le dernier objet qui acquiere l'evenement.
Je sais c'est pas tres claire. Mais si ça dit quelque chose à quelqu'un, j'aimerai bien savoir comment regler ce probleme.
Ce serait une application que je voudrai presenter à mon BTS dans un peu moins de 2 mois.
Julien237
Messages postés883Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention 3 mars 20097 25 mars 2007 à 16:27
Salut,
Non je ne vois pas beaucoup ce que tu veux dire...
Donne un morceau de ton code afin que nous puissions t'aider.
Le problème est-il vraiment de créer (définir) l'évènement au sein de ta classe, où plutot d'y associer des handlers ?
cs_fauve
Messages postés661Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention23 mars 20118 27 mars 2007 à 08:30
Salut,
J'ai trouvé un petit bout de code pour détecter le clic sur un bouton crée avec le code :
Public Sub Form1_Load...
Dim Button1 As New Button
Me.Button1.Location = New System.Drawing.Point(56, 144)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(104, 24)
Me.Button1.TabIndex = 0
Me.Button1.Text = "Button1"
Me.Controls.Add(Button1)
AddHandler Button1.Click, AddressOf Clic_Button
' on associe l'événement Button1.Click à la procédure Clic_Button
' Ainsi quand on cliques sur Button1 la procédure Clic_Button sera exécuté
End Sub
Sub Clic_Button(ByVal sender As Object, ByVal e As KeyEventArgs)
Airman31
Messages postés11Date d'inscriptionvendredi 1 décembre 2006StatutMembreDernière intervention20 juillet 2009 28 mars 2007 à 09:32
Merci déja pour vos réponses,
J'avais déja essayé ce code : AddHandler Button1.Click, AddressOf Clic_Button. Mais le probleme c'est que je dois passer des parametres a la procédure "Clic_Button".
Je crée mes boutons dans une procédure et celle-ci est appelée dans une boucle donc je dois lui passer des paramêtres.
Mon gros probleme est en fait le passage de parametres à l'evenement qu'on assigne. Ex : AddHandler Button1.Click, AddressOf Clic_Button(NomDuContact)
La procédure Clic_Button donnerai : MsgBox(NomDuContact)
J'ai pas mon code sous la main mais des que je peux je vous l'affiche pour vous montrer comment je genere.
Procédure Clic_Button(text) :
Là, j'aimerai récupérer le text du label pour pouvoir créer des action parametrées à partir du text : génération de formulaire, création de connexion à un client, etc.
Mais comme les boutons sont génerés dans une boucle, je peux pas les appeler directement par leur nom
Voila, je crois que j'ai tout dit. Si quelque chose est pas clair dites le moi.
Procédure Clic_Button(text) :
Là, j'aimerai récupérer le text du label pour pouvoir créer des action parametrées à partir du text : génération de formulaire, création de connexion à un client, etc.
Mais comme les boutons sont génerés dans une boucle, je peux pas les appeler directement par leur nom
Voila, je crois que j'ai tout dit. Si quelque chose est pas clair dites le moi.
Airman31
Messages postés11Date d'inscriptionvendredi 1 décembre 2006StatutMembreDernière intervention20 juillet 2009 4 avril 2007 à 11:06
Merci à tous pour vos réponses,
Je viens de trouver une solution :
Lorsqu'on declare le bouton ou le label ... On signal qu'il y aura plusieurs boutons qui seront declarés sous le meme nom
Ex : Dim btn(X)as new button ==>> X represente le nombre de buttons qui seront déclarés
Ensuite pour faire appelle au bouton ou lui assigner des évenement on donne son rang
Ex : AddHandler btn(X).Click, AddressOf ButtonDonnees_Click
Voilà, j'ai par encore testé mais je pense que ça devrait marcher. Si quelqu'un a le même pb que moi qu'il hesite pas à me contacter