Initialisation de toutes les zones d'un écran

0/5 (6 avis)

Snippet vu 4 116 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
Afficher les 6 commentaires

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.