Astuce .net pour appeller un même évênements par plusieurs champs différent

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 027 fois - Téléchargée 28 fois

Contenu du snippet

On retrouve souvent dans un programme un fonction qui valide tout pour genre débloquer un bouton enregistrer

avant .Net on devait faire ceci

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
call Valider()
End Sub

Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
call Valider()
End Sub

Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
call Valider()
End Sub

Private Sub TextBox4_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
call Valider()
End Sub

Avec l'arriver de .Net voici la nouvelle structure

Source / Exemple :


Private Sub Valider(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged, TextBox3.TextChanged, TextBox4.TextChanged

End Sub

Conclusion :


ça fais beaucoup moins de ligne de code pour rien en enlignant les Handles un ensuite de l'autre, sauf faut que les Handles soit semblable, donc on pourrait pas mixer un clic et un TextChanged. Mais on peut très bien enligner un bonton.Click et un label.Click

A voir également

Ajouter un commentaire

Commentaires

cs_dragon
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
4
oui c'est sur avec un index en vb6 ça fonctionne
cs_FAS
Messages postés
88
Date d'inscription
vendredi 26 avril 2002
Statut
Membre
Dernière intervention
24 février 2006

C'était aussi possible avec VB6, mais seulement pour des contrôles de même type : il suffisait d'utiliser la propriété index, et donc de créer des tableaux de contrôles.
Ex :

Private Sub TextBox1(Index as integer)
[...]
End Sub

;)
cs_dragon
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
4
eh .. c,est pas pour rien que j'ai mis ma source dasn Trucs & Astuces, parce que justement c'est pas une source, mais un trucs pour sauver du temps et sauver des lignes de code

je voulais le signaler, puisque c,est une différence avec VB6 qui est très appréciable
TOM_KILLERz
Messages postés
37
Date d'inscription
mercredi 25 février 2004
Statut
Membre
Dernière intervention
4 mai 2005

Bien utile pour les débutants, c'est aussi très utile pour les bouons d'options (radio button).
Couplé avec un selecte case c'est très efficace ;-)
Mais bon ca me parait un peu court pour une source, je ne note pas, un exemple aurait peut etre été utile.
Donc j'en met un ^^ :

Private Sub optTaille_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optTaille8.CheckedChanged, optTaille10.CheckedChanged, optTaille12.CheckedChanged

Select Case sender.name
Case "optTaille8"
lblMessage.Font = New Font(cboListePolices.Text, 8)
Case "optTaille10"
lblMessage.Font = New Font(cboListePolices.Text, 10)
Case "optTaille12"
lblMessage.Font = New Font(cboListePolices.Text, 12)
End Select

End Sub

Sorti directement d'un bouquin... j'avais la flemme de chercher ds mes sources ;-)

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.