Trouver un controle "actif" dans un form

Soyez le premier à donner votre avis sur cette source.

Vue 4 954 fois - Téléchargée 314 fois

Description

Petit bout de code pour trouver par exemple une checkbox à true dans un form, au milieu d'un groupbox.
Changer le texte d'un label, le texte d'une checkbox, ou autre.
Déclencher une action, comme un Wakeup on Lan ou un Shutdown.
J'ai eu un peu de mal avec celui-ci, ça peut surement en aider d'autres.
le code est à placer dans un bouton, cas de la démo dans le zip, ou crée en Function dans un module , tout dépend de l'usage que vous en faite.

Source / Exemple :


Dim SelecBox As System.Windows.Forms.Label
       
        Dim cherchGRP As System.Windows.Forms.GroupBox
        For Each Ctl In Me.Controls 'all control in form1
            If TypeOf Ctl Is GroupBox Then' à supprimer si pas de Groupbox
                cherchGRP = Ctl
                For Each elements In cherchGRP.Controls 'just elements in each groupbox or Form
                    If TypeOf elements Is Label Then
                        SelecBox = elements
                        'tag label1=1 tag label2 = 2 IMPORTANT pas de TAG pas de fonction !!
                        If SelecBox.Tag >= 1 And SelecBox.Tag <= 2 Then
                            'juste pour exemple change le texte par defaut en "nouveau nom"
                            If SelecBox.Text.Contains("Label") = True Then
                                'juste pour démo, on peut aussi changer la couleur par exemple.
                                SelecBox.Text = "nouveau label"
                                TextBox1.Text = "label "
                            End If
                        End If
                    End If
                    If TypeOf elements Is CheckBox Then
                        'tag checkbox1=1 tag checkbox2 = 2 IMPORTANT pas de TAG pas de fonction !!
                        If elements.Tag >= 1 And elements.Tag <= 2 Then
                            'trouve la ou les checkbox à TRUE, checked
                            If elements.Checked = True Then
                                'ici la detection et événements à lancer
                                'dans mon cas ou un WOL en UDP ou un Shutdown en SSH
                                'avec codage MD5
                                '**********************************************

                                'change statut du controle
                                elements.Text = "ON"
                                TextBox1.Text = "checkbox"
                            Else
                                elements.Text = "OFF"
                                TextBox1.Text = "checkbox"
                            End If
                        End If
                    End If

                Next
            End If
        Next

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Adn56
Messages postés
1172
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
28 septembre 2013
1
14 mai 2012 à 18:26
De plus c'est un prog .net ;)
NHenry
Messages postés
14967
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 août 2022
161
13 mai 2012 à 19:23
Bonsoir,

Je pense que pour ta recherche, une fonction récursive serait plus adaptée.
Car dans le cas d'un CheckBox, dans un Panel, inclus dans un GroupBox, tu ne le verrais pas.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.