OVH Cloud OVH Cloud

[vbnet] groupe de controle

5 réponses
Avatar
bjo
Beaucoup de sujet la dessus mais pas beaucoup de reponse.

Je dois passer un projet vb6 en vb net et j'utilisais beaucoup les groupes
de controles
notamment en indexant mes controles.

Exemple : J'ai 11 boutons.Qd je clique sur l'un d'eux, il me recupere
l'index (en vb6) qu'il concatene dans une requete sql (code societe par
exemple)

Comment faire la meme chose en vbnet sans devoir repeter la fonction pour
tous les boutons.

Ou bien Faut-il l'apprehender completement autrement?

merci d'avance

5 réponses

Avatar
Zoury
Salut!

Tu devras le faire autrement.. voici une suggestion :
http://groups.google.com/groups?threadm.0b01c33f9c%242c80c330%24a401280a%40phx.gbl

--
Cordialement
Yanick
MVP pour Visual Basic
"bjo" a écrit dans le message de
news:42120143$0$6857$
Beaucoup de sujet la dessus mais pas beaucoup de reponse.

Je dois passer un projet vb6 en vb net et j'utilisais beaucoup les groupes
de controles
notamment en indexant mes controles.

Exemple : J'ai 11 boutons.Qd je clique sur l'un d'eux, il me recupere
l'index (en vb6) qu'il concatene dans une requete sql (code societe par
exemple)

Comment faire la meme chose en vbnet sans devoir repeter la fonction pour
tous les boutons.

Ou bien Faut-il l'apprehender completement autrement?

merci d'avance




Avatar
Patrice Ongla
Plus de groupe de contrôle dans vb.net en effet. En revanche, tu peux
désormais définir une sub comme étant le gestionnaire de plusieurs
évènements, du genre :
Public Sub Ma_Proc (sender as object, e as eventarg) handles
button_1.click, button_2.click, ...., button_11.click
Et tu récupères le bouton sur lequel on a cliqué dans "sender". Si tu as mis
l'index dans les tag par exemple, c'est OK.

Bon un peu fastidieux je te l'accorde mais c'est souvent comme ça avec
dot.net. Plus propre, plus puissant... mais plus lourd...

Patrice

"bjo" a écrit dans le message de news:
42120143$0$6857$
Beaucoup de sujet la dessus mais pas beaucoup de reponse.

Je dois passer un projet vb6 en vb net et j'utilisais beaucoup les groupes
de controles
notamment en indexant mes controles.

Exemple : J'ai 11 boutons.Qd je clique sur l'un d'eux, il me recupere
l'index (en vb6) qu'il concatene dans une requete sql (code societe par
exemple)

Comment faire la meme chose en vbnet sans devoir repeter la fonction pour
tous les boutons.

Ou bien Faut-il l'apprehender completement autrement?

merci d'avance




Avatar
bjo
ok
je parviens a savoir si j'ai cliqué sur un des boutons
Maintenant comment je fais pour recuperer le nom
ou le tag du bouton que je viens de cliquer :
j'ai fait ceci:
Private Sub MA_sub(ByVal sender As Object, ByVal e As EventArgs) Handles
Command1.Click, Command2.Click

MsgBox (sender.GetType.Name)



il me renvoi button soit le type d'objet.Ce que je comprens bien.
Mais je ne parviens pas a avoir le nom ou le tag

merci d'avance



"Patrice Ongla" a écrit dans le message de
news:42161de4$0$14336$
Plus de groupe de contrôle dans vb.net en effet. En revanche, tu peux
désormais définir une sub comme étant le gestionnaire de plusieurs
évènements, du genre :
Public Sub Ma_Proc (sender as object, e as eventarg) handles
button_1.click, button_2.click, ...., button_11.click
Et tu récupères le bouton sur lequel on a cliqué dans "sender". Si tu as


mis
l'index dans les tag par exemple, c'est OK.

Bon un peu fastidieux je te l'accorde mais c'est souvent comme ça avec
dot.net. Plus propre, plus puissant... mais plus lourd...

Patrice

"bjo" a écrit dans le message de news:
42120143$0$6857$
> Beaucoup de sujet la dessus mais pas beaucoup de reponse.
>
> Je dois passer un projet vb6 en vb net et j'utilisais beaucoup les


groupes
> de controles
> notamment en indexant mes controles.
>
> Exemple : J'ai 11 boutons.Qd je clique sur l'un d'eux, il me recupere
> l'index (en vb6) qu'il concatene dans une requete sql (code societe par
> exemple)
>
> Comment faire la meme chose en vbnet sans devoir repeter la fonction


pour
> tous les boutons.
>
> Ou bien Faut-il l'apprehender completement autrement?
>
> merci d'avance
>
>




Avatar
Isabelle Prawitz
Bonjour !
Et avec Sender.Tag ?
A+
Isa

"bjo" a écrit dans le message de news:421cb07f$0$13402$
ok
je parviens a savoir si j'ai cliqué sur un des boutons
Maintenant comment je fais pour recuperer le nom
ou le tag du bouton que je viens de cliquer :
j'ai fait ceci:
Private Sub MA_sub(ByVal sender As Object, ByVal e As EventArgs) Handles
Command1.Click, Command2.Click

MsgBox (sender.GetType.Name)



il me renvoi button soit le type d'objet.Ce que je comprens bien.
Mais je ne parviens pas a avoir le nom ou le tag

merci d'avance



"Patrice Ongla" a écrit dans le message de
news:42161de4$0$14336$
> Plus de groupe de contrôle dans vb.net en effet. En revanche, tu peux
> désormais définir une sub comme étant le gestionnaire de plusieurs
> évènements, du genre :
> Public Sub Ma_Proc (sender as object, e as eventarg) handles
> button_1.click, button_2.click, ...., button_11.click
> Et tu récupères le bouton sur lequel on a cliqué dans "sender". Si tu as
mis
> l'index dans les tag par exemple, c'est OK.
>
> Bon un peu fastidieux je te l'accorde mais c'est souvent comme ça avec
> dot.net. Plus propre, plus puissant... mais plus lourd...
>
> Patrice
>
> "bjo" a écrit dans le message de news:
> 42120143$0$6857$
> > Beaucoup de sujet la dessus mais pas beaucoup de reponse.
> >
> > Je dois passer un projet vb6 en vb net et j'utilisais beaucoup les
groupes
> > de controles
> > notamment en indexant mes controles.
> >
> > Exemple : J'ai 11 boutons.Qd je clique sur l'un d'eux, il me recupere
> > l'index (en vb6) qu'il concatene dans une requete sql (code societe par
> > exemple)
> >
> > Comment faire la meme chose en vbnet sans devoir repeter la fonction
pour
> > tous les boutons.
> >
> > Ou bien Faut-il l'apprehender completement autrement?
> >
> > merci d'avance
> >
> >
>
>




Avatar
Zoury
Salut!

le paramètre sender *est* le contrôle qui à déclenché l'événement :
'***
Private Sub Button_Click(ByVal sender As Object, ByVal e As EventArgs)
Handles Button1.Click, Button2.Click

Dim btn As Button

' note : cette vérification n'est pas nécessaire dans ce cas-ci
' car on sait d'avance qu'il s'agit bien d'un
' bouton qui à déclenché l'événement...
' ce test serait toutefois indispensable dans le cas
' où un événement pourrait déclenché par plus d'un Type de contrôle
' afin d'éviter une exception de type InvalidCastException
'
If (sender.GetType() Is GetType(Button)) Then

btn = DirectCast(sender, Button)
Console.WriteLine("nom = ""{0}""{1}tag = ""{2}""", btn.Name,
vbNewLine, btn.Tag.ToString())

End If

End Sub
'***

--
Cordialement
Yanick
MVP pour Visual Basic