Bonjour,

Est-il possible d'obtenir un objet à partir de son nom ?
Je m'explique :

Dans une winform, j'ai des menuItems (par exemple menuItem1).

Et je voudrais qu'à partir d'une string qui contient menuItem1, j'accède vraiment à cet objet. Un peu comme ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Dim SmenuItem As String = "menuItem1"
CType(SmenuItem, menuItem).Visible = False
Mais bien sûr, ca ne fonctionne pas.
Avez-vous une idée ?

Je vois cette solution mais je voudrais éviter la boucle qui prendrait trop de temps (et surtout connaitre une vraie solution) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        Private Function CObj(ByVal Name As String) As Object
 
        Dim frm As Form, Ctrl As Control
 
        For Each frm In Forms
            If frm.Name = Name Then
               Set CObj = frm
                Exit Function
            End If
            For Each Ctrl In frm.Controls
                If Ctrl.Name = Name Then
                  Set CObj = Ctrl
                    Exit Function
                End If
            Next Ctrl
        Next frm
 
    End Function
Edit : cette solution ne fonctionne pas.

Merci d'avance.