Comment faire?

Résolu
Signaler
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
-
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
-
Bonsoir à tous, j'utilise le code ci-dssous pour afficher un contrôle dans un propertygrid sur lequel on vient de cliqué. Il fonctionne assé bien, en fait, quand je clique sur un bouton par exemple, ça s'affiche bien dans le propertygrid, mais quand je clique sur un bouton qui se trouve dans un panel par exemple, ba y a rien, voici mon code:

        For Each Ctrl As Control In Form1.Controls
            AddHandler Ctrl.Click, AddressOf Me.CONCEPTEUR_DE_VUE_SELECT_CONTROL
        Next

    Private Sub CONCEPTEUR_DE_VUE_SELECT_CONTROL(ByVal sender As Object, ByVal e As EventArgs)
        Me.PropertyGrid1.SelectedObject = ""
        Me.PropertyGrid1.Update()
        Me.PropertyGrid1.SelectedObject = sender
        Me.PropertyGrid1.Update()
        Me.TextBox1.Text = sender.Name
        Call ListCtrlEvent(Me.GetType())
    End Sub

quesqu'il me manque?

a+

ebaudoux@club.fr
http://www.velersoftware.2007.frhttp://velerweb-2.fr.nf/Veler%20Software/

2 réponses

Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
Salut,

Il faut faire une fonction récursive pour lister les contrôles contenus dans les contrôles listés
Private Sub ListCtrl(ByVal FormControl As Control)
  For Each Ctrl As Control In FormControl.Controls
    AddHandler Ctrl.Click, AddressOf Me.CONCEPTEUR_DE_VUE_SELECT_CONTROL
    If Ctrl.HasChildren Then Call ListCtrl(Ctrl)
  Next
End Sub, ----
(Coloration syntaxique automatique par Kenji)

__________
Kenji
(
Nouveau forum VBA/Office
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
3
Salut, c'est parfait, merci.

a+

ebaudoux@club.fr
http://www.velersoftware.2007.frhttp://velerweb-2.fr.nf/Veler%20Software/