Les Snippets

Connexion

Récupérer un objet CONTROL depuis son NAME

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 10/03/2010 17:08:52 et initié par PCPT [Liste]
Date de mise à jour : 10/03/2010 17:25:56
Vue : 7756
Catégorie(s) : Divers, WinForm, Control
Langages dispo pour ce code :
- VB 2005, VB 2008
- VB6



Langage : VB 2005 , VB 2008
Date ajout : 10/03/2010
Posté par PCPT [Liste]
DateMAJ : 10/03/2010
    Function GetControlByName(ByRef oForm As System.Windows.Forms.Form, ByVal sControlName As StringAs System.Windows.Forms.Control
        Dim oCtrl As System.Windows.Forms.Control
        oCtrl = oForm.Controls(sControlName)
        If oCtrl Is Nothing Then
            For Each oCtrl In oForm.Controls.Find(sControlName, True)
                If oCtrl.Name.Equals(sControlName) Then Return oCtrl
            Next
        Else
            Return oCtrl
        End If
        Return Nothing
    End Function
Remarque :
TextBox1, une zone texte sur la form
TextBox2, une zone texte dans un groupbox

DirectCast(GetControlByName(Me, "TextBox1"), System.Windows.Forms.TextBox).Text = "TextBox1"
DirectCast(GetControlByName(Me, "TextBox2"), System.Windows.Forms.TextBox).Text = "TextBox2"
Langage : VB6
Date ajout : 10/03/2010
Posté par PCPT [Liste]
Function GetControlByName(ByRef oForm As Form, ByVal sControlName As String) As Control
    Dim oCtrl   As Object
    Dim Index   As Integer
    Dim iGpePos As Integer
'   groupe de controles?
    iGpePos = VBA.InStr(1, sControlName, "(")
    If iGpePos Then
        Index = VBA.Val(VBA.Mid(sControlName, iGpePos + 1, VBA.Len(sControlName) - 1 - iGpePos))
        sControlName = VBA.Left$(sControlName, iGpePos - 1)
        
    Else
        Index = -1
        
    End If
'    boucle
    For Each oCtrl In oForm
        If oCtrl.Name = sControlName Then
            If Index = -1 Then
                Set GetControlByName = oCtrl
                Exit For
            Else
'                groupe
                If oCtrl.Index = Index Then
                    Set GetControlByName =  oCtrl
                    Exit For
                    
                End If
                
            End If
        End If
        
    Next oCtrl
    Set oCtrl = Nothing
End Function
Remarque :
Text1, une zone texte sur la form
Text2, une zone texte dans une frame
Text3, une zone texte INDEXEE (à zéro) dans une frame

GetControlByName(Me, "Text1").Text = "TextBox1"
GetControlByName(Me, "Text2").Text = "TextBox2"
GetControlByName(Me, "Text3(0)").Text = "1ère TextBox3"

Snippets en rapport avec : Objet, Nom, Control, Collection



Codes sources en rapport avec : Objet, Nom, Control, Collection

{Visual Basic, VB6, VB.NET, VB 2005} COBJ - RETOURNE L'OBJET À PARTIR D'UN STRING
C'est une petite fonction utile surtout quand on utlise CallByName. Ca évite de spécifier l'objet d...

{Visual Basic, VB6, VB.NET, VB 2005} GROUPE DE CONTRÔLES VB6 EN VISUAL BASIC 2005 EXPRESS EDITION
C'est une simulation des groupes de contrôles de VB6 en VB.NET Evidemment EBArtSoft m'a mis sur la ...

{C# / C#.NET} CUSTOM PANEL
Bon voici un Control qui m'a été bien utile dans mes applications, C'est effectivement un simple pan...

{Visual Basic, VB6, VB.NET, VB 2005} CRÉATION / SUPPRESSION DYNAMIQUE D’OBJETS TEXTBOX, LISTBOX, COMBOBOX, PICTUREBOX (SET CONTROLS)
A tout ceux qui ont besoin de créer un objet de plus pendant le code ! en 3 ligne de code vous pouv...

{Visual Basic, VB6, VB.NET, VB 2005} OBJETS À DÉPLACER DANS VOTRE FORM
J'en avais besoin pour un petit logiciel mais je n'ai pas trouvé ce que je cherchais (peut être ai-j...

{PHP} INTYFTP, CLASS FTP PUISSANTE ET ACCESSIBLE
Bonjour à tous, voici un objet Ftp en PHP5 qui vous permet de vous connecter sur un ftp distant, lir...

{PHP} INTYCSV CLASS CSV EN PHP SIMPLE ET INTUITIVE
Cette classe que j'ai construite est un objet à caractère intuitif permettant de générer un fichier ...

{Javascript / DHTML} OBJET DE DÉBUGAGE
Il s'agit d'un objet "Tryable" conçus pour détecter les erreurs d'implémentations de vos objet JavaS...

{Visual Basic, VB6, VB.NET, VB 2005} TRIEUR DE TABLEAU SUR PLUSIEURS COLONNES
Cette classe d'objet permet de trier un tableau à une ou deux dimensions sur une ou plusieurs colonn...

{Visual Basic, VB6, VB.NET, VB 2005} BINDING COMBOBOX NOTHING
Bonjour, Dans le cadre d'une application Si vous avez le code suivant: Combobox.datasource= ...