Help sur utilisation des labels svp

Résolu
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010 - 30 nov. 2008 à 18:11
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 - 3 déc. 2008 à 15:56
bonsoir,

j'ai verrouillé  à 3 caracteres maximum des labels à remplir par des utilisateurs.

je voudrais en plus interdire tout caractere autre que des chiffres => c'est ma 1er question

et faire en sorte que dès qu'un label est rempli, le curseur se positionne automatiquement dans le label suivant => c'est ma 2eme question.

Si vous pouvez m'aider pour l'une ou l'autre... merci d'avance
_____________
 (débutant inside)

6 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
30 nov. 2008 à 18:27
Label ou TextBox ???
Un label est normalement en lecture seule, on ne peut rien y saisir dedant.

Pour saisir uniquement des chiffres, tu peux utiliser le controle NumericUpDown à la place du textbox, il a exactement été prevu pour cela. Sinon sur l'évènement KeyDown, il faut que tu filtre le caractère (ou la touche) saisie et si c'est pas un nombre, tu annule la saisie. Par exemple :
    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        If Not Char.IsDigit(e.KeyChar) Then
            e.Handled = True
        End If
    End Sub

Pour passer à l'élément suivant, tu peux tester la longueur du texte saisi et s'il est égal à 3,
- soit tu fait TonNouveauControl .Focus = True
- soit tu utlise la methode SelectNextControl de la Form pour sélectionner le controle suivant selon des critères que tu peux définir.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
30 nov. 2008 à 18:24
salut,

un label n'est pas "remplissable" par l'utilisateur.
tu parles d'une textbox?
bien en VB.NET? (autant s'en assurer....)

maxlength
tabindex
keychar et cancel = true...


<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
0
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
30 nov. 2008 à 19:39
oui effectivement je me suis trompédans mes explications  il s'agit bien de textbox,
vous aurez corrigé de vous meme ...
 
merci casy pour ces explications que je vais m'empresser d'essayer

_____________
 (débutant inside)
0
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
3 déc. 2008 à 09:57
bonjour j'aurai besoin d'un complement d'info svp :

la methode fournie par casy est efficace pour forcer les chiffres dans les textbox.
la touche "Suppr" n'est pas impactée par le code et c'est tres bien,
par contre la touche "retour arriere" est bloquée et cela me gene un peu

j'imagine qu'en precisant un "sendkeys" pour la bypasser cela marchera,
mais j'ai du mal à trouver comment la preciser dans le code (meme avec google... )

pouvez encore me donner un coup de main svp ?
merci d'avance.

_____________
 (débutant inside)
0

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

Posez votre question
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
3 déc. 2008 à 11:21
Rebonjour,

j'ai trouvé qlqchose qui me convient . Pourinfo si ça peut servir :

If Asc(e.KeyChar) < 32
Then'ASCII < 32 Tout ce qui est commandese.Handled

False

ElseIf (Asc(e.KeyChar) > 47
And Asc(e.KeyChar) < 57)
Then

'ASCII compris entre 48 et 57 inclu repr‚sente les chiffres de 0 … 9.e.Handled =

False

Elsee.Handled =

True

End
Ifa coller dans Keypress
bonne journée

_____________
 (débutant inside)
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
3 déc. 2008 à 15:56
sinon dans la même idée que Char.IsDigit, tu as aussi Char.IsControl.Il te suffit juste de faire un OR :

If Not (Char.IsDigit(e.KeyChar) Or Char;IsControl(e.KeyChar)) Then
.......

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