J'ai une zone de texte dans VB qui est configurée pour n'accepter que des données numériques, et cela fonctionne, sauf dans DEUX cas spécifiques.VB Text Box acceptant des données non numériques
Si l'utilisateur fournit une la zone de texte NON NUMERIC CHAR auto efface,
Cependant, si l'utilisateur d'abord un numéro, puis fournit soit « - » ou « + »
La zone de texte Acceptez ceci comme une entrée valide.
Lorsque l'utilisateur tape un plus ombles de tout type, à savoir le numéro ou char
Ensuite, la zone de texte « réalise » et la volonté de soi claire. Je me demandais si cela est dû à la façon dont VB stocke les caractères '-' et '+'?
Le meilleur moyen de contourner ce problème consiste-t-il simplement à ajouter les deux exceptions, c'est-à-dire si '-' ou '+' sont saisis, alors l'auto-effacement?
Ou existe-t-il une solution plus élégante?
Merci.
code:
Private Sub TextBox1_Change()
'Textval used as variable from user input
'Numval becomes textval providing the user input is numerical
Dim textval As String
Dim numval As String
textval = TextBox1.Text
If IsNumeric(textval) Then
numval = textval
Else
TextBox1.Text = CStr(numval)
End If
End Sub
[** Cette **] (http://stackoverflow.com/questions/15423114/checking-to-see-if-text-box-input-is-numeric?rq=1) vaut peut-être la peine d'être lu car c'est peut-être ce que vous cherchez. – Codexer
L'utilisation d'une zone de texte masquée pourrait constituer une solution alternative à ce qui a été suggéré. –