Problème de TextBox

BiGDaN20 Messages postés 2 Date d'inscription mardi 9 décembre 2008 Statut Membre Dernière intervention 10 décembre 2008 - 9 déc. 2008 à 21:49
BiGDaN20 Messages postés 2 Date d'inscription mardi 9 décembre 2008 Statut Membre Dernière intervention 10 décembre 2008 - 9 déc. 2008 à 21:50
Bonsoir à tous et toutes,

Cela fait maintenant quelques heures que je m'acharne sur le problème...
Avec ma classe, on devlopper une espèce de ToolBox. Et je me suis ramassé le logiciel de création d'arborescence.
A la base, les arborescences devaient ce créer à partir de la grille excel avec un copier-coller dans le presse-papier.
Mais voila... Tout le monde ne dipose pas d'excel. Alors j'ai créé ma propre grille de saisie.
Et pour empecher les utilisateurs de ne pas fair n'importe quoi, les TextBox ne s'activent que dans un orde précis.
Tous va bien tant que personne fait d'erreur de saisie et ne se dise "Oups je me suis trompé, je dois revenir en arrière."

Je ne trouve pas la solution a plusieurs problème:

1- Les Texbox non utilisé de la dernière ligne ne se désactive pas malgré mes inombrable condition.
2-Quand on efface la textbox du niveau inférieur au dernier niveau modifié, il surgie un bug que je ne saurais vous expliquer.

Voici le code dédié à la grille de saisie:

// **********************************************************************

// Nom : txtDonne_TextChanged

// But : V‚rifie chaque nouveau caractŠre entr‚

// Retour:

// Param.: Sender: Objet qui envoie l'evenement

// e: Donnees d'evenement

// *******************************************************************

private
void txtDonne_TextChanged(
object sender,
EventArgs e){

   //Parcour toutes les TextBox

   for (
int Cpt = 0; Cpt < LIGNE - 1; Cpt ++)  {

      for (
int Cpt2 = 0; Cpt2 <= COLONNE - 1; Cpt2 ++)     {

         //Localise la TextBox modifi‚ et active d'autres TextBox

         if (tabtxtDonne[Cpt, Cpt2] == sender)         {

               int intLigneActu = 1;

               int intColonneActu = 1;

               if (Cpt > 0)         {

          intLigneActu = Cpt;

            }//if

           if (Cpt2 > 0)           {

                  intColonneActu = Cpt2;

            }//if

         //Parcour toutes les TextBox

         for (
int CptL = intLigneActu - 1; CptL < LIGNE; CptL++)            {

   for (
int CptC = 0; CptC < COLONNE; CptC++){

//D‚sacative toutes les Textbox inutilie

if (tabtxtDonne[CptL, CptC].Text ==
"" && Cpt > intLigneModifie){

tabtxtDonne[CptL, CptC].Enabled =

false;tabtxtDonne[0, 0].Enabled =

true;}

//if}

//for}

//for

//Localise la ligne modifier et la garde sa localisation

if (Cpt > intLigneModifie){

intLigneModifie = Cpt;

}

//Activation des TextBox

if (tabtxtDonne[Cpt, Cpt2].Text !=
"" && Cpt + 1 > intLigneModifie){

tabtxtDonne[Cpt + 1, Cpt2].Enabled =

true;tabtxtDonne[Cpt + 1, 0].Enabled =

true;

if (Cpt2 != 6){

tabtxtDonne[Cpt + 1, Cpt2 + 1].Enabled =

true;}

//if}

//if

if (tabtxtDonne[Cpt + 1, 0].Text ==
"" && tabtxtDonne[Cpt + 1, 1].Text ==
"" && tabtxtDonne[Cpt + 1, 2].Text ==
"" && tabtxtDonne[Cpt + 1, 3].Text ==
"" && tabtxtDonne[Cpt + 1, 4].Text ==
"" && tabtxtDonne[Cpt + 1, 5].Text ==
"" && tabtxtDonne[Cpt + 1, 6].Text ==
"" && intLigneModifie != 0 ){

intLigneModifie--;

}

//Active toutes les TextBox de la ligne avant la troisiŠme colonne

if (Cpt2 == 2 && Cpt + 1 > intLigneModifie){

tabtxtDonne[Cpt + 1, 1].Enabled =

true;}

//if

//Active toutes les TextBox de la ligne avant la quatriŠme colonne

if (Cpt2 == 3 && Cpt + 1 > intLigneModifie){

tabtxtDonne[Cpt + 1, 1].Enabled =

true;tabtxtDonne[Cpt + 1, 2].Enabled =

true;}

//if

//Active toutes les TextBox de la ligne avant la cinquiŠme colonne

if (Cpt2 == 4 && Cpt + 1 > intLigneModifie){

tabtxtDonne[Cpt + 1, 1].Enabled =

true;tabtxtDonne[Cpt + 1, 2].Enabled =

true;tabtxtDonne[Cpt + 1, 3].Enabled =

true;}

//if

//Active toutes les TextBox de la ligne avant la sixiŠme colonne

if (Cpt2 == 5 && Cpt + 1 > intLigneModifie){

tabtxtDonne[Cpt + 1, 1].Enabled =

true;tabtxtDonne[Cpt + 1, 2].Enabled =

true;tabtxtDonne[Cpt + 1, 3].Enabled =

true;tabtxtDonne[Cpt + 1, 4].Enabled =

true;}

//if

//Active toutes les TextBox de la ligne avant la septiŠme colonne

if (Cpt2 == 6 && Cpt + 1 > intLigneModifie){

tabtxtDonne[Cpt + 1, 1].Enabled =

true;tabtxtDonne[Cpt + 1, 2].Enabled =

true;tabtxtDonne[Cpt + 1, 3].Enabled =

true;tabtxtDonne[Cpt + 1, 4].Enabled =

true;tabtxtDonne[Cpt + 1, 5].Enabled =

true;}

//if

for (
int CptC = Cpt2; CptC <= COLONNE - 1; CptC ++){

//D‚sactive toutes les TextBox de la ligne inutilise

if (tabtxtDonne[Cpt, Cpt2].Text ==
"" && Cpt + 1 > intLigneModifie){

tabtxtDonne[Cpt + 1, CptC].Enabled =

false;tabtxtDonne[Cpt + 1, 1].Enabled =

false;tabtxtDonne[Cpt + 1, 2].Enabled =

false;tabtxtDonne[Cpt + 1, 3].Enabled =

false;tabtxtDonne[Cpt + 1, 4].Enabled =

false;tabtxtDonne[Cpt + 1, 5].Enabled =

false;}

//if}

//for

}

//if }

//for

}

//for}

//txtDonne_TextChanged

1 réponse

BiGDaN20 Messages postés 2 Date d'inscription mardi 9 décembre 2008 Statut Membre Dernière intervention 10 décembre 2008
9 déc. 2008 à 21:50
Désolé...

J'ai oublié un ptit truc =)

Merci d'avance à tous
0
Rejoignez-nous