[VB.NET] Virgule Textbox
Résolu
Gornarf
Messages postés
126
Statut
Membre
-
Gornarf Messages postés 126 Statut Membre -
Gornarf Messages postés 126 Statut Membre -
Bonjour à toutes et à tous,
Dans mes précédents poste je tournais avec VBA, je suis passé en VB.net sous VS2010express.
J'ai plus ou moins assez rapidement retrouvé mes repères de VBA sauf pour une chose.
A l'aide d'internet, j'ai réussi a créer une classe numerictextbox, il s'agit donc de textbox exclusivement numérique.
J'ai ensuite paramétré le nombre max de caractère dans chacune de mes box
Ce que je n'arrive pas a faire c'est de limiter la virgule à une seule!!
Actuellement je peux en mettre 2 ou 3 dans ma box si je le souhaite ce qui ne m'arrange pas.
Quelqu'un aurait une idée de code pour régler ca?
==> limiter la saisie de une seule virgule dans la textbox et donc annulée les saisie qui surviendraient après qu'une virgule ait déjà été introduite.
Merci d'avance
Dans mes précédents poste je tournais avec VBA, je suis passé en VB.net sous VS2010express.
J'ai plus ou moins assez rapidement retrouvé mes repères de VBA sauf pour une chose.
A l'aide d'internet, j'ai réussi a créer une classe numerictextbox, il s'agit donc de textbox exclusivement numérique.
J'ai ensuite paramétré le nombre max de caractère dans chacune de mes box
Ce que je n'arrive pas a faire c'est de limiter la virgule à une seule!!
Actuellement je peux en mettre 2 ou 3 dans ma box si je le souhaite ce qui ne m'arrange pas.
Quelqu'un aurait une idée de code pour régler ca?
==> limiter la saisie de une seule virgule dans la textbox et donc annulée les saisie qui surviendraient après qu'une virgule ait déjà été introduite.
Merci d'avance
A voir également:
- [VB.NET] Virgule Textbox
- Google sheet remplacer point par virgule - Forum Réseaux sociaux
- 2 décimales après la virgule excel ✓ - Forum Programmation
- Remplacement automatique dans Google Sheets - Forum Google Docs
- Alea entre bornes avec virgule ✓ - Forum Excel
- Excel:chiffres après virgule ✓ - Forum Excel
3 réponses
Salut,
tu peut le gerer dans l'evenement KeyPress avec un code comme celui la tu peut l'ameliorer car la je le fais rapidement en C# mais bon la syntaxe et assez ressemblante a VB.net pour cet exemple
tu peut le gerer dans l'evenement KeyPress avec un code comme celui la tu peut l'ameliorer car la je le fais rapidement en C# mais bon la syntaxe et assez ressemblante a VB.net pour cet exemple
if(e.KeyChar == ',') { if(textBox1.Text.Contains(",")) { e.Handled = true; } }
Ca marche nickel nico, merci.
Je poste ma solution complète qui permet de remplacer le point par la virgule et de n'autorisée la saisie que de 1 seule virgule dans la TXTbox
Private Sub NumericTextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles NumericTextBox1.KeyPress
'Remplace le point par une virgule
If Asc(e.KeyChar) = 46 Then e.KeyChar = ","
If Asc(e.KeyChar) = 44 And (CType(sender, TextBox).Text.IndexOf(",") > 0 Or CType(sender, TextBox).Text = "") Then e.Handled = False
NumericTextBox1.MaxLength = 8
'N'autorise qu'une seule virgule dans la box
If (e.KeyChar = ",") Then If (NumericTextBox1.Text.Contains(",")) Then e.Handled = True
End Sub
Je poste ma solution complète qui permet de remplacer le point par la virgule et de n'autorisée la saisie que de 1 seule virgule dans la TXTbox
Private Sub NumericTextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles NumericTextBox1.KeyPress
'Remplace le point par une virgule
If Asc(e.KeyChar) = 46 Then e.KeyChar = ","
If Asc(e.KeyChar) = 44 And (CType(sender, TextBox).Text.IndexOf(",") > 0 Or CType(sender, TextBox).Text = "") Then e.Handled = False
NumericTextBox1.MaxLength = 8
'N'autorise qu'une seule virgule dans la box
If (e.KeyChar = ",") Then If (NumericTextBox1.Text.Contains(",")) Then e.Handled = True
End Sub