fender45
Messages postés4Date d'inscriptionjeudi 30 décembre 2004StatutMembreDernière intervention 4 janvier 2005
-
3 janv. 2005 à 18:06
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 2006
-
4 janv. 2005 à 08:48
Bonjour,
Je suis débutant en vb.net et nouvel adhérent.
En VB6.0, quand on crée 2 objet avec le même nom, on peut créer un groupe d'objets indéxés. Je ne sais pas le faire en vb.net. C'était très pratique pour les checkbox...
Est-ce que quelqu'un peut m'aider. Merci d'avance.
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 3 janv. 2005 à 18:39
Voici ce que dit l'aide de Visual Studio .NET 2003 à ce sujet
Dans Visual Basic 6.0, les tableaux de contrôles pouvaient être utilisés pour spécifier un groupe de contrôles partageant un ensemble d'événements. Les contrôles devaient être de même type et posséder le même nom.
Dans Visual Basic .NET, les tableaux de contrôles ne sont plus pris en charge. Les modifications du modèle d'événement rendent les tableaux de contrôles superflus. De la même façon que les tableaux de contrôles de Visual Basic 6.0 pouvaient partager des événements, dans Visual Basic .NET, le modèle d'événement permet à tout gestionnaire d'événements de gérer les événements de plusieurs contrôles. Vous pouvez, en effet, créer des groupes de contrôles de différents types partageant les mêmes événements.
Vous pouvez, par exemple, ajouter deux contrôles Button (Button1 et Button2) et un contrôle CheckBox (CheckBox1) à un formulaire, puis créer un gestionnaire d'événement pour gérer l'événement Click pour ces trois contrôles :
Private Sub MixedControls_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, CheckBox1.Click
La possibilité de référencer un contrôle à l'aide de sa propriété Index était une autre fonctionnalité des tableaux de contrôles Visual Basic 6.0. Bien que les contrôles Visual Basic .NET ne possèdent pas de propriété Index, vous pouvez dupliquer cette fonctionnalité en utilisant une autre propriété commune, telle que la propriété TabIndex ou Tag.
Vous pouvez, par exemple, définir la propriété TabIndex pour un groupe de contrôles à l'aide des nouvelles possibilités d'ordre de tabulation visuel des Windows Forms, puis utiliser TabIndex dans une instruction Select Case :
Private Sub MixedControls_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, CheckBox1.Click
Select Case sender.TabIndex
Case 0
MsgBox("Button 1")
Case 1
MsgBox("Button 2")
Case 2
MsgBox("CheckBox 1")
End Select
End Sub
il y a 2 facon de le faire, ma source en explique une qui est moins utilisé, mais dasn els commentaire, ça explique la 2e façon, plus utilisé
les 2 façon ont des avantages et des inconvénients
-------------------------------------------------
Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol
-------------------------------------------------
fender45
Messages postés4Date d'inscriptionjeudi 30 décembre 2004StatutMembreDernière intervention 4 janvier 2005 4 janv. 2005 à 08:32
Christophe R,
J'ai bien compris pour le partage d'évènements, merci, mais comment obtenir la valeur d'une propriété de plusieurs contrôles dans une procédure quelconque.
Avant on pouvait écrire :
for index=0 to 5
if checkbox(index).checked then ...
next index
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 4 janv. 2005 à 08:48
La doc que je t'ai transmises semble proposer de passer par la propriété Tag !
tu peux par exemple mettre une meme valeur dans la propriété Tag de tes checkboxes (le que tu aurais donné à ton groupe de controle en vb6 par exemple) puis tu fais une boucle sur les controles de la form et dans cette boucle "si Tag = "NomDuGroupe" Alors ...."