Meilleur auteur de réponses
Controler la saisie dans un textbox

Question
-
Bonjour,
Je souhaiterais controler la saisie d'un textbox dans un controle utilisateur.
On ne doit pouvoir saisir que des chiffres à virgule et je veux également controler l'affichage du nombre de décimales.
exemple: si on saisi 0.23 je dois pouvoir afficher 0.23000000.
Je souhaite pourvoir controler par un property le nombre de décimale a afficher.
Pour l'instant j'utilise ceci :
Property FormatDonnees As String = "0.000000" Property Val00 As Single
Private Sub Txt_Matrix1_00_TextChanged(sender As Object, e As EventArgs) Handles Txt_Matrix1_00.TextChanged If Me.Txt_Matrix1_00.Text <> "-" Then Me.Txt_Matrix1_00.Text = Strings.Format(Me.Txt_Matrix1_00.Text, FormatDonnees).ToString Try Me.Val00 = Single.Parse(Strings.Replace(Me.Txt_Matrix1_00.Text, ".", ",")) Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Information, "Vérifier la saisie !") End Try
End If End Sub
Pour l'instant la fonction Strings.Format ne marche pas, cela ne change pas la texte.
La valeur val00 contient bien une valeur en single
Quelqu'un aurait-il une solution ?
Cdlt
Cordialement, Regards, H.sabatou
vendredi 2 novembre 2012 21:53
Réponses
-
Bonjour,
Pourquoi ne pas utiliser un MaskedTextBox ? Vous pouvez aussi utiliser les regex pour valider votre textbox.
Regardez les liens suivants :
http://msdn.microsoft.com/en-us/library/ms229603%28v=vs.90%29.aspx
http://msdn.microsoft.com/en-us/library/ms950965.aspx
Merci de valider par "Proposer comme réponse" si celle-ci répond à votre demande !
samedi 3 novembre 2012 12:41 -
Bonjour,
Bien j'ai essayé avec un MaskedTextBox, mais je dois peut-etre mal l'utiliser car le résultat obtenu n'est trop ce que j'attendais.
Je souhaiterais plus un champ de saisie ayant un peu le meme comportement qu'une cellule excel : on saisit un nombre avec une ou plusieurs decimale et une fois validée (appui sur enter ou perte du focus) le champ affiche le nombre avec le nombre de digit souhaité (qui plus est modifiable).
Le deuxieme lien à l'air tres interrsessant mais il me faux un peu de temps pour l'etudier.
Je reviendrais un peu plus tard pour la réponse, merci
Cordialement, Regards, H.sabatou
- Marqué comme réponse h.sabatou lundi 5 novembre 2012 07:06
samedi 3 novembre 2012 17:44
Toutes les réponses
-
Bonjour,
Pourquoi ne pas utiliser un MaskedTextBox ? Vous pouvez aussi utiliser les regex pour valider votre textbox.
Regardez les liens suivants :
http://msdn.microsoft.com/en-us/library/ms229603%28v=vs.90%29.aspx
http://msdn.microsoft.com/en-us/library/ms950965.aspx
Merci de valider par "Proposer comme réponse" si celle-ci répond à votre demande !
samedi 3 novembre 2012 12:41 -
Bonjour,
Bien j'ai essayé avec un MaskedTextBox, mais je dois peut-etre mal l'utiliser car le résultat obtenu n'est trop ce que j'attendais.
Je souhaiterais plus un champ de saisie ayant un peu le meme comportement qu'une cellule excel : on saisit un nombre avec une ou plusieurs decimale et une fois validée (appui sur enter ou perte du focus) le champ affiche le nombre avec le nombre de digit souhaité (qui plus est modifiable).
Le deuxieme lien à l'air tres interrsessant mais il me faux un peu de temps pour l'etudier.
Je reviendrais un peu plus tard pour la réponse, merci
Cordialement, Regards, H.sabatou
- Marqué comme réponse h.sabatou lundi 5 novembre 2012 07:06
samedi 3 novembre 2012 17:44 -
Bonjour,
Si vous souhaitez un certain nombre de décimal, il faut faire un string.Format. Voir ci-dessous :
http://www.csharp-examples.net/string-format-double/
Cordialement
Merci de valider par "Proposer comme réponse" si celle-ci répond à votre demande !
- Proposé comme réponse HSabatou lundi 5 novembre 2012 06:50
dimanche 4 novembre 2012 10:27 -
Merci,
Avec toutes ces réponses je vais pouvoir finir de coder mon contrôle personnalisé.
Merci
lundi 5 novembre 2012 06:49