Probleme dans maskedtextbox [Résolu]

Signaler
Messages postés
71
Date d'inscription
mercredi 3 octobre 2012
Statut
Membre
Dernière intervention
6 octobre 2019
-
Messages postés
71
Date d'inscription
mercredi 3 octobre 2012
Statut
Membre
Dernière intervention
6 octobre 2019
-
Bonjour mes amis,

jai un masek textbox de type numéros de téléphone
comment fixer le premier numéro dans le masked textbox et que jamis suprémer
exp: le masektextbox démarrer par "0" si sa que je me fixy et les 9 numéros peut one suprémer

8 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Bonjour,
Définis cela dans la propriété Mask
Exemple 0# ## ## ## ##
le 0 ne sera pas effacé ni effaçable
Messages postés
71
Date d'inscription
mercredi 3 octobre 2012
Statut
Membre
Dernière intervention
6 octobre 2019

bonjour,



merci bien ami mi j'ai essayer ton solution mi pas encore le 0 et toujours effacé
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
si tu as raison (ce que je ne peux vérifier, étant développeur sous VB6 et non sous VB.Net), cela voudrais dire que VB.Net est quelque peu "infirme" concernant cet aspect.
Le filtre que je t'ai indiqué fonctionne sans faille sous VB6. Je laisse un vbnettiste t'exposer pourquoi VB.Net traite autrement ce filtre et la solution de rechange éventuelle ...
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
après lecture msdn/VB.Net :
malheureusement, sus VB.Net, le caractère 0 dans la propriété mask ne "force" pas un 0 (comme sous VB6), mais n'importe quel chiffre compris entre 0 et 9 !
Tu n'as dans ces conditions pas d'autre choix sous VB.Net que de gérer toi-même la saisie (utilisation des évènements KeyPree, Keychange) pour refuser toute frappe différente de 0 si 1er caractère (exactement comme tu le ferais avec un contrôle textbox).ou encore de substituer un 0 à toute autre touche frappée si 1er caractère.
Pour la petite histoire : VB6 a quant à lui permis de forcer le "0" dans le masque et a choisi plutôt le "9" pour "dire" tout caractère entre 0 et 9. Ce n'est pas au hasard, que ce choix a été fait. Une "présentation" avec des "9" forcés est rare, sinon inexistante. Tel n'est pas le cas d'une "présentation" avec des "0" forcés. Juste une question de sagesse et de bon sens ...
Messages postés
16052
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 juin 2021
551 >
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018

Bonsoir Uc, nos réponses se sont croisée, si c'est possible.
Messages postés
16052
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 juin 2021
551
Bonsoir
la syntaxe est différente de VB6

Tout est dans la doc en ligne.
https://msdn.microsoft.com/fr-fr/library/system.windows.forms.maskedtextbox.mask(v=vs.110).aspx

Le zéro désigne un chiffre quelconque, alors que le # autorise aussi l'espace et les signe + et -.

Le masque est donc
"\00 00 00 00 00"



Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Messages postés
16052
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 juin 2021
551
ps l'échappement de caractère spécial existait déjà en C (peut être même avant...) et a été largement repris dans les Regex.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237 >
Messages postés
16052
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 juin 2021

Salut Whism,
Exact ! Idem avec l'emploi du 9 sous VB6
Messages postés
71
Date d'inscription
mercredi 3 octobre 2012
Statut
Membre
Dernière intervention
6 octobre 2019

MERCI BIEN AMIS
Messages postés
71
Date d'inscription
mercredi 3 octobre 2012
Statut
Membre
Dernière intervention
6 octobre 2019

salut amis
comment fait lorder
if not keypress "0" then

effacé caractère
end if
vb.net 2013
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Avec le masque qui t'a été donné par Whismeril, tu n'as plus besoin de contrôler vau Keypress !
Messages postés
71
Date d'inscription
mercredi 3 octobre 2012
Statut
Membre
Dernière intervention
6 octobre 2019

merci bien whism votre soulution et bien régler
mais jai un autre question svp pour la ( 2 ) deux éme caractère dans maskedtextbox
if deux éme caractère dans maskedtextbox <> "7" or "6" or "5" then
efacé la caractere
end if
ou bien
com dit
if txtmaskebox.text.starwith ("01") then

efacé la dernier caractere / eface le "1"

end if

merci
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Ta nouvelle question n'a rien à voir avec la première.
Ouvre donc une autre discussion, mais :
- après avoir utilisé le moteur de recherche de ce forum pour voir si cette difficulté n'y est pas déjà traitée et solutionnée
- en nous montrant le code que tu as au moins tenté de mettre en oeuvre.
Quant à la discussion en cours (la présente) qui concerne uniquement le masque de saisie à choisir pour imposer un 0 comme premier caractère : elles a eu sa solution ? ===>>> discussion à libérer, donc (un clic sur le tag RESOLU au niveau de ton premier message). L'observation des règles de ce forum n'est pas un "luxe", mais une discipline dont le respect est nécessaire.
Messages postés
71
Date d'inscription
mercredi 3 octobre 2012
Statut
Membre
Dernière intervention
6 octobre 2019

merci boucau mes amis le problème et bien résolue