[VB.NET] Virgule Textbox
Résolu
Gornarf
Messages postés
120
Date d'inscription
Statut
Membre
Dernière intervention
-
Gornarf Messages postés 120 Date d'inscription Statut Membre Dernière intervention -
Gornarf Messages postés 120 Date d'inscription Statut Membre Dernière intervention -
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
- 2 décimales après la virgule excel ✓ - Forum Programmation
- Remplacer la virgule par un point clavier numérique windows 11 ✓ - Forum LibreOffice / OpenOffice
- Google sheet remplacer point par virgule - Forum Google Docs
- Publipostage 2 chiffres après la virgule ✓ - Forum Word
- Voici la liste avec une virgule après chaque mot-clé - 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