Initialisation de toutes les zones d'un écran

0/5 (6 avis)

Snippet vu 4 227 fois - Téléchargée 29 fois

Contenu du snippet

Cette routine permet de mettre à blanc toutes les zones textbox, maskedit, combobox, grids et listes d'un écran.

Une seule contrainte (si on peut dire) : les noms des différents contrôles doivent avoir une certaine syntaxe. Les trois premières lettres doivent êtres pareilles

Les maskedit = MSK , les textbox = TXT , les combobox = CMB , les grids = GRI , les listes = LST.

Si L 'écran s'appelle FRMForme, appeler SreenMab FRMForme

Source / Exemple :


Public Sub ScreenMab(Forme As Form)
Dim i As Integer
Dim nbre As Integer
Dim InterCont As String
nbre = Forme.Count
For i = 0 To nbre - 1
    
        If UCase(Mid$(Forme.Controls(i).Name, 1, 3)) = "MSK" Then
            InterCont = Forme.Controls(i).Mask
            Forme.Controls(i).Mask = ""
            Forme.Controls(i).Text = ""
            Forme.Controls(i).Mask = InterCont
          
        End If
    
        If UCase(Mid$(Forme.Controls(i).Name, 1, 3)) = "TXT" Then
            If Forme.Controls(i).Locked = False Then
            Forme.Controls(i).Text = ""
            Else
            Forme.Controls(i).Locked = False
            Forme.Controls(i).Text = ""
            Forme.Controls(i).Locked = True
            End If
        End If
    
        If UCase(Mid$(Forme.Controls(i).Name, 1, 3)) = "CMB" Then
            If Forme.Controls(i).Locked = False Then
            If Forme.Controls(i).Style = 2 Then
                Forme.Controls(i).ListIndex = -1
                Else
                Forme.Controls(i).ListIndex = -1
                Forme.Controls(i).Text = ""
            End If
            End If
        End If
    
        If UCase(Mid$(Forme.Controls(i).Name, 1, 3)) = "GRI" Then
            Forme.Controls(i).Clear
        End If
        
        If UCase(Mid$(Forme.Controls(i).Name, 1, 3)) = "LST" Then
            Forme.Controls(i).Clear
        End If
Next i

End Sub

A voir également

Ajouter un commentaire Commentaires
dadibarca23 Messages postés 71 Date d'inscription mercredi 3 octobre 2012 Statut Membre Dernière intervention 6 octobre 2019
14 nov. 2012 à 11:55
comment fait un
Création dynamique d'espace entre deux caractères dans le TextBox
vb.net
et comment écrire le code dans le vb.net
merci bien dadi
dadibarca23 Messages postés 71 Date d'inscription mercredi 3 octobre 2012 Statut Membre Dernière intervention 6 octobre 2019
14 nov. 2012 à 11:48
comment fait un espace entre les caractères dans le textbox vb.net
celiphane Messages postés 466 Date d'inscription samedi 16 février 2002 Statut Membre Dernière intervention 20 avril 2007
10 juin 2004 à 18:03
Plus simple encore, le for each. C'est fait pour ca de tout facon.

Exemple:

dim t as textbox
for each t in me.controls
t.text=""
next t


de plus le for each est plus rapide que le for next, enfin bon, cet avantage est très petit je l'admet. Mais sinon, c'est de loin le mieux.

@+
Celiphane
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
10 juin 2004 à 14:20
pas typeofme
TypeOf

le Me allait avec Me.Controls(i)

il y avais un espace entre les 2 ;-)

mais j'avais fais aussi quelque chose du genre pour désactiver certain control
lauchris1 Messages postés 4 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 7 janvier 2005
10 juin 2004 à 11:39
C'est vrai, tu as entièrement raison mais j'ai écrit cette routine il y a des années en VB3 et la propriété TypeOfMe n'existait pas.

Je modifie de ce pas la routine dans mon programme pour faire plus net.

Merci du tuyau

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.