Saisir un nombre décimal dans un textox [Résolu]

zakaroh 42 Messages postés mercredi 23 avril 2008Date d'inscription 23 août 2008 Dernière intervention - 4 août 2008 à 18:15 - Dernière réponse : zakaroh 42 Messages postés mercredi 23 avril 2008Date d'inscription 23 août 2008 Dernière intervention
- 6 août 2008 à 10:14
bonjour,
je veux que mon textbox accepte que des nombre décimaux, j'arrive a faire ca avec nombre numirique mais pas avce un virgule.
merci
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
WishhhMaster 327 Messages postés mardi 17 février 2004Date d'inscription 10 avril 2010 Dernière intervention - 6 août 2008 à 02:52
1
Merci
Salut,

1)

C'est normal que tu n'arrives pas a supprimer vu que tu interceptes la touche si ce n'est pas un nombre ou une virgule/point.

Essaye ca pour que le backspace marche

if (!char.IsNumber(e.KeyChar) && e.KeyChar != ',' && e.KeyChar != '.' && e.KeyChar!=8) //8 = backspace
{
                e.Handled = true;
 }
 else if (e.KeyChar == ',')
{
              e.KeyChar = '.';
 }

Mais bon apres tu aura d'autres problemes si tu veux gerer les ctrl-C/ ctrl-V..

2) Ca depend du traitement que tu fais avec le contenu de ta textbox.. mets un test pour tester le cas ou ce n'est pas rempli

Une raison particuliere de ne pas utiliser un NumericUpDown au lieu d'une textbox? Il est fait pour ca

Merci WishhhMaster 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 118 internautes ce mois-ci

Commenter la réponse de WishhhMaster
Meilleure réponse
zakaroh 42 Messages postés mercredi 23 avril 2008Date d'inscription 23 août 2008 Dernière intervention - 6 août 2008 à 10:14
1
Merci
merci ca marche,
par contre j'ai toujour un probleme pour les textbox vide.
en fait quand je remplis ma table par fois je laisse des textbox vide car j'ai pas de valeur a saisir. j'ai un message d erreur;
Input string was not in a correct format,
merci

Merci zakaroh 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 118 internautes ce mois-ci

Commenter la réponse de zakaroh
lemmingperceval 128 Messages postés mardi 18 décembre 2007Date d'inscription 2 août 2009 Dernière intervention - 4 août 2008 à 19:47
0
Merci
Voilà un petit exemple:
private

void textBox1_KeyPress(
KeyPressEventArgs e)
{

   if ((e.KeyChar < 48 || e.KeyChar > 57) && (e.KeyChar != 8 && e.KeyChar != 13))
      e.Handled =
true;
}

L'idée, c'est de vérifier le code ASCII du caractère qui va être insèré dans ta TextBox.
L'exemple t'empèche d'autrer autre chose que des chiffres.
Commenter la réponse de lemmingperceval
zakaroh 42 Messages postés mercredi 23 avril 2008Date d'inscription 23 août 2008 Dernière intervention - 4 août 2008 à 21:20
0
Merci
merci pour la reponse,
j'avais fait un truc presque pareille, mais le probleme j'arrive pas a saisir  la virgule et que la virgule,

merci pour votre aide,,,,,

zakaroh
Commenter la réponse de zakaroh
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 4 août 2008 à 21:51
0
Merci
=> Utilisez un NumericUpDown

<hr />
-My Blog-
Commenter la réponse de cs_Bidou
WishhhMaster 327 Messages postés mardi 17 février 2004Date d'inscription 10 avril 2010 Dernière intervention - 4 août 2008 à 22:41
0
Merci
Salut,

Regarde la (c'est le meme principe avec un point au lieu d'une virgule).
http://www.csharpfr.com/infomsg_TEXTBOX-FLOAT-AVEC-SAISIE-PARTICULIERE_1156812.aspx

Sinon oui le numericupdown est sasn doute mieux
Commenter la réponse de WishhhMaster
zakaroh 42 Messages postés mercredi 23 avril 2008Date d'inscription 23 août 2008 Dernière intervention - 5 août 2008 à 11:14
0
Merci
merci,
voila j'ai fait ca

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsNumber(e.KeyChar) && e.KeyChar != ',' && e.KeyChar != '.')
{
e.Handled = true;
}
{
if (e.KeyChar == ',')
{
e.KeyChar = '.';
}
}

}
ca marche.
mais deux probleme,
1)j'arrive pas a supprimer ou modifier ce que j'ai saisie.
2)quand mon textbox est vide j'ai un message " imput string was not in a correct format" .
merci
Commenter la réponse de zakaroh

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.