Textboxarry

garnier54 Messages postés 158 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 9 décembre 2018 - 4 oct. 2008 à 08:25
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 - 4 oct. 2008 à 12:29
bonjour,

pour controler la saisie de nonbreux textbox en vb6 il existait le textboxarray qui pernet une saisie tres sympa (verification numerique, passage automatique a la zone suivante etc ..)
comment faire la meme chose en net ?

merci

nicolas

6 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
4 oct. 2008 à 10:08
Salut,

Tu crees tes controles dans une boucle et tu les abonnes au meme gestionnaire d'evenement
le texytbox qui envoit l'evenement courant est stockée dans l'objet sender

Pour avoir une idée
http://visualbasic.about.com/od/usingvbnet/l/bldykctrlarraya.htm
0
garnier54 Messages postés 158 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 9 décembre 2018
4 oct. 2008 à 10:41
merci

mais pas tres simple ton exemple pour moi qui debute en vb.net
en fait j ai trouvé un ex sur ce site en vb6 et j aimerai faire le meme chose en vb.net 2008

j ai des texbox
textbox1, textbox2 ..... ils sont indexes 1,2,3
a chaque saisie valide monbre le curseur va sur la zone suivante
voici le code

Private

Sub ChiffreSudoku_TextChanged(
ByVal eventSender
As System.Object,
ByVal eventArgs
As System.EventArgs)
Handles ChiffreSudoku.TextChanged

Dim Index
As
Short = ChiffreSudoku.GetIndex(eventSender)

'Quand on rentre un nouveau nombre, donner le focus au chap suivant.

If
Not (IsNumeric(ChiffreSudoku(Index).Text))
ThenChiffreSudoku(Index).Text = vbNullString

ElseIf Index <> 80
ThenChiffreSudoku(Index + 1).Focus()

End
If

End
Sub

nicolas
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
4 oct. 2008 à 11:03
Ok,

Si tu veux elles existaient encore en vs2003 (elles ont pas disparu normalement)
mais je trouve qu'il n'est pas propre d'utiliser les mode de compatibility

Ajoutes dans ta toolbox la dll suivante et les textboxarray devront apparaitre
Microsoft.VisualBasic.Compatibility.dll

Mais c'est pas la bonne facon de programmer en dotnet
http://msdn.microsoft.com/fr-fr/library/microsoft.visualbasic.compatibility.vb6.textboxarray.aspx

Pour info et completer ton code et savoir quelle est le nom du bouton cliquer c'est

dim ChiffreSudoku as TextBox =
ctype(eventSender
,TextBox)

Bon courage
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
4 oct. 2008 à 11:40
Si tu as correctement configuré la propriété TabIndex de tes contrôles, tu peux aussi utiliser la méthode SelectNextControl de ton contrôle (ou de la from) pour sélectionner le contrôle suivant dans l'ordre des tabindex

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
garnier54 Messages postés 158 Date d'inscription mardi 17 janvier 2006 Statut Membre Dernière intervention 9 décembre 2018
4 oct. 2008 à 12:06
merci bcp

j 'ai du mal m'exprimé je ne veux pas de compatibilieé avce vb6 je suis d 'accord avce toi c'est pas propre mais une facon de proceder pour verifier la zone et passer au champs suivant en vb.net 2008 pour arriver au meme resultat

nicolas
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
4 oct. 2008 à 12:29
1 évènemant pour plusieurs textbox
tu récupères le nom du textbox avec sender.Name

Private
Sub TextBox_TextChanged(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles TextBox1.TextChanged, TextBox2.TextChanged, TextBox3.TextChangedMsgBox(sender.Name)

End
Sub

Bonjour chez vous !
0
Rejoignez-nous