cs_bernard456
Messages postés9Date d'inscriptionmercredi 9 décembre 2009StatutMembreDernière intervention10 juin 2010
-
7 juin 2010 à 22:13
cs_bernard456
Messages postés9Date d'inscriptionmercredi 9 décembre 2009StatutMembreDernière intervention10 juin 2010
-
10 juin 2010 à 14:41
Bonjour, je suis débutant en c# et je réalise un logiciel avec plus d'une centaine de textbox et des datagridview etc etc.
Je m'inquiétais quant à la validation des données pour éviter tous les bugs de type si l'utilisateur met 2003.5 dans une textbox recevant des int (ex: Année) et j'ai enfin réussi a trouver un moyen simple rapide et efficace pour la validation de toutes les données en très peu de temps.
Le formulaire possède comme beaucoup de formulaire un bouton valider. J'ai rajouté une image d'icone valider (le tilt vert) et une croix rouge à gauche de valider
En fait, dans les évènements les plus communs comme click sur un tabpage ou click sur la form , je fais un
try
{
tout le code présent dans le bouton analyser (qui est très long);
button1.image=NOMLOGICIEL.Properties.Resources.valider;
}
catch (Exception gt)
{ button1.image=NOMLOGICIEL.Properties.Resources.cross;}
et dès que l'utilisateur click quelqu epart ou sur un tabpage, la bonne image s'affiche indiquant si on peut appuyer sur le bouton analyser ou s'il y a un problème.
Je vais rajouter un truc du genre "si le button1.image cross" alors button1.enabledfalse pour empecher tout bug lors de l'analyse.
Et dire que j'ai passé des heures à mettre des if(textbox1.text.length 0 ) alors variable 0, else variable = textbox1.text; et que ça ne me protéger même pas d'une personne qui choisi de mettre une lettre par mégarde ou incompréhension.
Maintenant, plus aucun problème, je ne suis même ^plus obligé de mettre ces if else pour chaque textbox partout, et c'est plus joli et ergonomique.
J'espère que ca pourra aider des débutants comme moi.
yohan49
Messages postés380Date d'inscriptionsamedi 22 janvier 2005StatutMembreDernière intervention13 août 20117 8 juin 2010 à 07:58
salut tu t'embete bien la
passe le tag du bouton a true / false
try
{
button1.Tag = true;
button1.image=NOMLOGICIEL.Properties.Resources.valider;
}
catch (Exception gt)
{
button1.image=NOMLOGICIEL.Properties.Resources.cross;
button1.Tag = false;
}
void button1_Click(object sender, eventarg e)
{
Button bt = sender as Button;
Boolean ok = bt.Tag as Boolean;
if(!ok)
return;
}