Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

creer un groupe de controles comme VB6 ????

2 réponses
Avatar
Nicolas Le Roy
bonjour !
je suis debutant sous VB.net et j'utilisais souvent les groupes de controles
sous VB6, ce que je trouvais tres pratique pour gerer les actions des
utilisateurs simplement avec l'index de l'objet.
Mais la, sous VB.net, je ne retrouve pas cette possibilite. est-elle
supprimee ? y a t'il alors un moyen similaire existant ???

--
j'ai encore une tite question... ;-)

2 réponses

Avatar
Eric Vernié [MS]
Bonjour Nicolas,

Les groupes de contrôles n'existent en effet plus avec VB.NET (sauf avec une
couche de compatibilité), car il existe d'autres méthodes pour effectuer ce
que tu veux.

Dans VB.NET et dans .NET en générale, tu peux utiliser un modèle d'événement
(comme on savait le faire en VB 6), par contre la puissance de ce modèle
c'est de pouvoir coupler la même méthode à plusieurs même événement de
contrôles différents.
Je m'explique.
Tu as trois boutons B1, B2, B3

Avec VB 6, Trois méthodes B1_click, B2_Click, B3_Click sont générées, et tu
n'as pas moyen de changer cela sans passer par un tableau de contrôles.

En VB.NET tu retrouve évidement le même principe, mais tu peux également
définir une méthode générale MaMethodeClick() et l'affecter aux événements
click de chaque bouton.

Ce n'est pas encore très clair ?
Allons plus loin avec un exemple.
Ajoutes trois boutons à ta forme Windows
Par défaut le designer te crée tout le code nécessaire comme en VB6 pour
associer une méthode à l'événement click.
Ce que nous allons faire ici, c'est créer une méthode, et associer les trois
bouton à cette méthode.
Click sur le 1er bouton pour faire apparaître le code suivant
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

End Sub

Modifie la méthode comme ceci en ajoutant Button2.Click, Button3.Click dans
la déclaration de la méthode (à la fin)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click
Dim btn As Button = CType(sender, Button)
Dim s As String = btn.Name

Select Case s
Case "Button1"
MsgBox("Bouton 1 fait ceci")
Case "Button2"
MsgBox("Bouton 2 fait cela")
Case "Button3"
MsgBox("Bouton 3")
End Select
End Sub

Et le tour est joué

Eric Vernié
Microsoft France











"Nicolas Le Roy" a écrit dans le
message de news:
bonjour !
je suis debutant sous VB.net et j'utilisais souvent les groupes de
controles
sous VB6, ce que je trouvais tres pratique pour gerer les actions des
utilisateurs simplement avec l'index de l'objet.
Mais la, sous VB.net, je ne retrouve pas cette possibilite. est-elle
supprimee ? y a t'il alors un moyen similaire existant ???

--
j'ai encore une tite question... ;-)


Avatar
Nicolas Le Roy
Merci beaucoup de votre reponse Mr Vernié, je craignais de devoir faire
ainsi... en effet, je dois gerer une centaine de "button", donc je doute
qu'utiliser cette technique soit viable... je vais donc eviter d'utiliser cet
objet "button" et trouver autre chose...

Merci encore !

"Eric Vernié [MS]" a écrit :

Bonjour Nicolas,

Les groupes de contrôles n'existent en effet plus avec VB.NET (sauf avec une
couche de compatibilité), car il existe d'autres méthodes pour effectuer ce
que tu veux.

Dans VB.NET et dans .NET en générale, tu peux utiliser un modèle d'événement
(comme on savait le faire en VB 6), par contre la puissance de ce modèle
c'est de pouvoir coupler la même méthode à plusieurs même événement de
contrôles différents.
Je m'explique.
Tu as trois boutons B1, B2, B3

Avec VB 6, Trois méthodes B1_click, B2_Click, B3_Click sont générées, et tu
n'as pas moyen de changer cela sans passer par un tableau de contrôles.

En VB.NET tu retrouve évidement le même principe, mais tu peux également
définir une méthode générale MaMethodeClick() et l'affecter aux événements
click de chaque bouton.

Ce n'est pas encore très clair ?
Allons plus loin avec un exemple.
Ajoutes trois boutons à ta forme Windows
Par défaut le designer te crée tout le code nécessaire comme en VB6 pour
associer une méthode à l'événement click.
Ce que nous allons faire ici, c'est créer une méthode, et associer les trois
bouton à cette méthode.
Click sur le 1er bouton pour faire apparaître le code suivant
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click

End Sub

Modifie la méthode comme ceci en ajoutant Button2.Click, Button3.Click dans
la déclaration de la méthode (à la fin)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click
Dim btn As Button = CType(sender, Button)
Dim s As String = btn.Name

Select Case s
Case "Button1"
MsgBox("Bouton 1 fait ceci")
Case "Button2"
MsgBox("Bouton 2 fait cela")
Case "Button3"
MsgBox("Bouton 3")
End Select
End Sub

Et le tour est joué

Eric Vernié
Microsoft France











"Nicolas Le Roy" a écrit dans le
message de news:
> bonjour !
> je suis debutant sous VB.net et j'utilisais souvent les groupes de
> controles
> sous VB6, ce que je trouvais tres pratique pour gerer les actions des
> utilisateurs simplement avec l'index de l'objet.
> Mais la, sous VB.net, je ne retrouve pas cette possibilite. est-elle
> supprimee ? y a t'il alors un moyen similaire existant ???
>
> --
> j'ai encore une tite question... ;-)