none
comment déclarer une procédure d'évènement d'un objet logique ? RRS feed

  • Question

  • Bonjour,

    J'ai déclaré un objet logique mais je n'arrive pas à lui attribuer une procédure évènementielle, voici mon code, c'est la fin qui ne va pas, le nom de l'objet virtuel ne passe pas (combobox), et si je ne mets rien la procédure ne répond pas ?

    Public Class Form1
     Dim cb As New ComboBox
    
     Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      Controls.AddRange(New System.Windows.Forms.Control() {la, cb, tb, lb})
     End Sub
    
     Sub cb_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cb.SelectedIndexChanged
    
     End Sub
    End Class
    

    Merci, cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    mardi 8 février 2011 19:55

Réponses

  • Bonjour EhJoe

     

    Ce que vous recherchez a faire est de créer un événement sur la création d'un contrôle dynamique pour ce faire il faut créer un evenement avec le mot clef WithEvents

    Public WithEvents cb As New ComboBox
    
      Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
        Me.Controls.Add(cb)
        cb.Items.Add("toto1")
        cb.Items.Add("toto2")
      End Sub
    
    
      Private Sub cb_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cb.SelectedIndexChanged
        MsgBox("changement effectuée")
      End Sub
    

     

     

     


    Cordialement, Troxsa
    • Proposé comme réponse TroxsaEditor mardi 8 février 2011 20:28
    • Marqué comme réponse EhJoe mardi 8 février 2011 20:34
    mardi 8 février 2011 20:28
    Auteur de réponse
  • Bonsoir Xavier,

    C'est exactement ça, magnifique !

    Dim WithEvents cb As New ComboBox

    Merci mille fois, cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    • Marqué comme réponse EhJoe mardi 8 février 2011 20:34
    • Modifié EhJoe mardi 8 février 2011 20:34 correction
    mardi 8 février 2011 20:33

Toutes les réponses

  • Bonjour EhJoe

     

    Ce que vous recherchez a faire est de créer un événement sur la création d'un contrôle dynamique pour ce faire il faut créer un evenement avec le mot clef WithEvents

    Public WithEvents cb As New ComboBox
    
      Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
        Me.Controls.Add(cb)
        cb.Items.Add("toto1")
        cb.Items.Add("toto2")
      End Sub
    
    
      Private Sub cb_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cb.SelectedIndexChanged
        MsgBox("changement effectuée")
      End Sub
    

     

     

     


    Cordialement, Troxsa
    • Proposé comme réponse TroxsaEditor mardi 8 février 2011 20:28
    • Marqué comme réponse EhJoe mardi 8 février 2011 20:34
    mardi 8 février 2011 20:28
    Auteur de réponse
  • Bonsoir Xavier,

    C'est exactement ça, magnifique !

    Dim WithEvents cb As New ComboBox

    Merci mille fois, cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    • Marqué comme réponse EhJoe mardi 8 février 2011 20:34
    • Modifié EhJoe mardi 8 février 2011 20:34 correction
    mardi 8 février 2011 20:33