Interdire CERTAINS chiffre dans MaskedTextBox
Résolu
vérokit
Messages postés
68
Date d'inscription
Statut
Membre
Dernière intervention
-
vérokit Messages postés 68 Date d'inscription Statut Membre Dernière intervention -
vérokit Messages postés 68 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Me revoilà encore des questions sur la manipulation d'heures.
J'ai maintenant - grâce à vous - trouvé comment obliger l'utilisateur à saisir dans deux textbox deux heures au format hh:mm:ss. Grâce au masque de saisie : "00:00:00" de mes deux MaskedTextbox.
Je souhaite aller plus loin, en interdisant à l'utilisateur les chiffres 7,8,9 pour les dizaines de minutes et les dizaines de secondes, et interdire les chiffres 3 à 9 pour les dizaines d'heures.
En clair, comme mes deux MaskedTextbox sont soustraites, si l'utilisateur saisit pas erreur "15:65:05", le programme plante !
Comment éviter cela ?
J'ai tenté d'utiliser la fonction format :
"If Format (MaskedTextbox1.text,"##:6#:##") then
Message d'erreur
End if"
Je rencontre un problème de conversion de la chaîne.
Ou alors, il faudrait que le programme convertisse lui-même "15:65:05" en "16:05:05", mais cela me semble un peu compliqué !
Merci de m'aider encore et toujours
Me revoilà encore des questions sur la manipulation d'heures.
J'ai maintenant - grâce à vous - trouvé comment obliger l'utilisateur à saisir dans deux textbox deux heures au format hh:mm:ss. Grâce au masque de saisie : "00:00:00" de mes deux MaskedTextbox.
Je souhaite aller plus loin, en interdisant à l'utilisateur les chiffres 7,8,9 pour les dizaines de minutes et les dizaines de secondes, et interdire les chiffres 3 à 9 pour les dizaines d'heures.
En clair, comme mes deux MaskedTextbox sont soustraites, si l'utilisateur saisit pas erreur "15:65:05", le programme plante !
Comment éviter cela ?
J'ai tenté d'utiliser la fonction format :
"If Format (MaskedTextbox1.text,"##:6#:##") then
Message d'erreur
End if"
Je rencontre un problème de conversion de la chaîne.
Ou alors, il faudrait que le programme convertisse lui-même "15:65:05" en "16:05:05", mais cela me semble un peu compliqué !
Merci de m'aider encore et toujours
A voir également:
- Interdire CERTAINS chiffre dans MaskedTextBox
- Excel trier par ordre croissant chiffre - Guide
- Clavier iphone chiffre et lettre - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Chiffre en lettre - Télécharger - Outils professionnels
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
1 réponse
OUF !
J'ai trouvé.
Un internaute m'a mis sur la voie (merci à lui) : il faut utiliser l'évènement TypeValidationCompleted.
D'abord, je détermine le type de validation de mes deux MaskedTextBox :
"Private Sub MaForm ()
MaskedTextbox1.ValidatingType=GetType(System.DateTime)
MaskedTextbox2.ValidatingType=GetType(System.DateTime)
End sub"
Ensuite je vérifie les données saisies par la méthode ValidateText :
"Private Sub CalculDurée_Click()
heure1 = MaskedTextbox1.ValidateText
heure2 = MaskedTextbox2.ValideText"
End sub"
Cette méthode déclenche l'évènement TypeValidationCompleted que j'ai défini de la manière suivante :
"Private Sub MaskedTextBox_TypeValidationCompleted()
If (Not e.IsValidInput) Then
MessageBox.Show("L'heure de début n'est pas au format hh:mm:ss !", "ATTENTION", MessageBoxButtons.OK)
End if
End sub"
Et voilà tout roule !
J'ai trouvé.
Un internaute m'a mis sur la voie (merci à lui) : il faut utiliser l'évènement TypeValidationCompleted.
D'abord, je détermine le type de validation de mes deux MaskedTextBox :
"Private Sub MaForm ()
MaskedTextbox1.ValidatingType=GetType(System.DateTime)
MaskedTextbox2.ValidatingType=GetType(System.DateTime)
End sub"
Ensuite je vérifie les données saisies par la méthode ValidateText :
"Private Sub CalculDurée_Click()
heure1 = MaskedTextbox1.ValidateText
heure2 = MaskedTextbox2.ValideText"
End sub"
Cette méthode déclenche l'évènement TypeValidationCompleted que j'ai défini de la manière suivante :
"Private Sub MaskedTextBox_TypeValidationCompleted()
If (Not e.IsValidInput) Then
MessageBox.Show("L'heure de début n'est pas au format hh:mm:ss !", "ATTENTION", MessageBoxButtons.OK)
End if
End sub"
Et voilà tout roule !