Comment faire?

Résolu
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 - 4 oct. 2007 à 20:44
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 - 4 oct. 2007 à 22:18
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

Utilisateur anonyme
4 oct. 2007 à 22:07
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
3
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 2
4 oct. 2007 à 22:18
Salut, c'est parfait, merci.

a+

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