Création d'événements

Airman31 Messages postés 11 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 20 juillet 2009 - 25 mars 2007 à 16:02
Airman31 Messages postés 11 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 20 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.

               Merci d'avance

11 réponses

cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
25 mars 2007 à 16:27
Salut,

Est ce que tu pourrait mettre ton code ? On comprendrais mieux ce que tu veux faire.

@+
0
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
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 ?

<hr size="2" width="100%" />Julien.
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
26 mars 2007 à 11:39
Bonjour

Regarde peut-être du coté de AddHandler.

Il est plus facile de batiser quelqu'un que de le convertir.(surtout en programmation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
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)

...

End Sub, ----

(Coloration syntaxique automatique par Kenji)

@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
27 mars 2007 à 08:31
Il te reste plus qu'à l'adapter à ton objet graphique
0
Airman31 Messages postés 11 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 20 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.
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
28 mars 2007 à 12:32
Bonjour

Exemple :

Création du bouton :
Dim lButton as new button
lButton.Tag=NomDestinataire
Addhandler

...

Event Click :
Button_Click
 messagebox.show(cstr(directcast(sender,button).tag))

Il est plus facile de batiser quelqu'un que de le convertir.(surtout en programmation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
28 mars 2007 à 16:58
Salut,

Oui, mais ton code le plus tôt possible pour qu'on puisse t'aider.

Peux tu nous dire d'où vient la variable NomDuContact ? (dans une listview, dans une textbox,...)

@+
0
Airman31 Messages postés 11 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 20 juillet 2009
30 mars 2007 à 11:08
Dans le form_load:


      Je lance une requete SQL pour parcourir ma base
      Tant que pas fin du datareader
            GenererBouton(texte, taille,position)
      Fin

Procedure GenererBouton(texte, taille,position) :
      Dim bttn as new button
      Button.text ...
      Button.size ...
      etc...

   AddHandler Bttn.Click, AddressOf Clic_Button(text)

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.

   

      
0
Airman31 Messages postés 11 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 20 juillet 2009
30 mars 2007 à 11:08
Dans le form_load:


      Je lance une requete SQL pour parcourir ma base
      Tant que pas fin du datareader
            GenererBouton(texte, taille,position)
      Fin

Procedure GenererBouton(texte, taille,position) :
      Dim bttn as new button
      Button.text ...
      Button.size ...
      etc...

   AddHandler Bttn.Click, AddressOf Clic_Button(text)

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.

   

      
0
Airman31 Messages postés 11 Date d'inscription vendredi 1 décembre 2006 Statut Membre Dernière intervention 20 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
0
Rejoignez-nous