conseil sur le parametrage d'une textbox
Bonjour,
Mon appli possède plusieurs textbox que j'ai paramétré ainsi (exemple pour la textbox S):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
Private Sub S_GotFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles S.GotFocus
S.BackColor = Color.DarkCyan
End Sub
Private Sub S_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles S.Leave
S.Text = S.Text.Replace(".", ",")
With oeil(indiceoeil)
.valS = Convert.ToDouble(S.Text)
S.Text = .valS.ToString("0.00") ' 2 chiffres après la virgule
SIMAGE.Text = .valS.ToString("0.00")
End With
End Sub
Private Sub S_Textleave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles S.Leave
S.BackColor = Color.LightSlateGray
If S.Text < -10 Or S.Text > 6.0 Then
If MessageBox.Show("La valeur S doit être comprise entre -10.00 et +6.00", "Données hors plage", MessageBoxButtons.OK, MessageBoxIcon.Warning) Then
S.Focus()
S.Text = ""
S.BackColor = Color.DarkCyan
C.BackColor = Color.LightSlateGray
End If
End If
End Sub |
-Donc au départ ma textbox se met en darkcyan dés qu'elle a la focus.
-J'entre la valeur, le séparateur est la virgule et quand je tabule, la valeur entrée s'arrondit a deux décimale (Par exemple j'entre -4, je tabule et ca affiche -4.00
- Quand je tabule, donc la textbox perd le focus, ca couleur redevient celle d'origine et je borne la valeur S
Mon souci :
Tout fonctionne TANT que j'entre des valeurs rondes (-4 ou -3 ou -2 ...) mais si j'entre une valeur décimale style -3.21 ou pire encore, -3.2145 tout plante en me disant
Citation:
La conversion de la chaine "-3.2145" en type double n'est pas valide
Moi je voudrais, si j'entre -3.2145, avoir -3.21 des que je tabule ou même encore mieux, quand j'entre la valeur, les caracteres -3,21 s'ecrivent mais pas 45
Je galère pour trouver une solution, vos lumières m'aideraient vraiment beaucoup
Merci