Quand je coche le CheckBox4, j'ai bien la ligne "Options = "
Constructeur.AppendLine(string.Format(" {0}= {1}", c.Tag, ""));
Constructeur.Append(string.Format(" {0}= ", c.Tag));//tu vas écrire " Option = " sans retour à la ligne
if (checkBox21.Checked == true)//si tu n'as qu'une instruction avec un if, les accolades ne sont pas obligatoires Constructeur.Append("ALLOW_ROCK_TARGET ");//ajoute simplement la consigne à la dernier ligne if (checkBox22.Checked == true) Constructeur.AppendLine("ALLOW_SHRUBBERY_TARGET "); if (checkBox23.Checked == true) Constructeur.AppendLine("CANCELABLE "); //à ce moment là quelque soit la combinaison cochée il y a un espace en trop à la fin, donc on l'enlève: Constructeur.Remove(str.Length - 1, 1);//si il y a 50 caractères, les indices vont de 0 à 49, donc on enlève l'indice 49
StringBuilder Constructeur = new StringBuilder(); List<string> options = new List<string>();//initialise une liste de string if (checkBox21.Checked == true) options.Add("ALLOW_ROCK_TARGET");// ajoute une option si besoin if (checkBox22.Checked == true)options.Add("ALLOW_SHRUBBERY_TARGET"); if (checkBox23.Checked == true)options.Add("CANCELABLE"); string mesOptions = string.Join(" ",options);//concatène avec des espaces en séparation Constructeur.AppendLine(string.Format(" {0}= {1}", c.Tag, mesOptions));//là je mest ma ligne complète dans le stringbuilder
foreach (CheckBox c in LesCasesCocheesActions) switch (c.Name) { case "checkBox1": Constructeur.AppendLine(string.Format(" {0}= {1}", c.Tag, comboBox1.Text)); button19.Enabled = true; Button1.Enabled = true; Button2.Enabled = true; break; case "checkBox2": Constructeur.AppendLine(string.Format(" {0}= {1}", c.Tag, comboBox2.Text)); button19.Enabled = true; Button1.Enabled = true; Button2.Enabled = true; break; case "checkBox3": Constructeur.AppendLine(string.Format(" {0}= {1}", c.Tag, comboBox3.Text)); button19.Enabled = true; Button1.Enabled = true; Button2.Enabled = true; break; case "checkBox4": // C'est celui que tu avais fait List<CheckBox> LesCasesCocheesOptions = TabControl1.TabPages[3].Controls.OfType<CheckBox>().Where(c2 => c2.Checked && c2.Tag != null).OrderBy(c2 => c2.TabIndex).ToList<CheckBox>(); if (LesCasesCocheesOptions.Count == 0) { Label1.Text = "CommandButton Command_" + "\r\n" + "End"; return; } StringBuilder str2 = new StringBuilder("CommandButton Command_"); foreach (CheckBox c2 in LesCasesCocheesOptions) { switch (c2.Name) { case "checkBox21": str2.AppendLine(string.Format(" {0}= {1}", c.Tag, c2.Tag)); break; case "checkBox22": str2.AppendLine(string.Format(" {0}= {1}", c.Tag, c2.Tag)); break; case "checkBox23": str2.AppendLine(string.Format(" {0}= {1}", c.Tag, c2.Tag)); break; default: throw new Exception("Erreur Inattendue !"); } str2.Append("End"); Label1.Text = str2.ToString(); } break; case "checkBox5": Constructeur.AppendLine(string.Format(" {0}= {1}", c.Tag, comboBox4.Text)); button19.Enabled = true; Button1.Enabled = true; Button2.Enabled = true; break;
case "checkBox4": Constructeur.AppendLine(string.Format(" {0}= {1}", c.Tag, "")); if (checkBox21.Checked == true) { Constructeur.AppendLine(string.Format(" {0}= {1}", c.Tag, "ALLOW_ROCK_TARGET")); } if (checkBox22.Checked == true) { Constructeur.AppendLine(string.Format(" {0}= {1}", c.Tag, "ALLOW_SHRUBBERY_TARGET")); } if (checkBox23.Checked == true) { Constructeur.AppendLine(string.Format(" {0}= {1}", c.Tag, "CANCELABLE")); } break;
Modifié par Whismeril le 30/01/2014 à 15:45
En effet ce terme désigne, la méthode qui est appelée au moment de l'initialisation d'une instance de classe.
Par exemple:
est le constructeur de Form4.
Ça peut prêter à confusion, surtout quand tu poses une question sur le forum, les autres bénévoles qui n'ont pas suivi les précédentes conversations peuvent être déroutés
30 janv. 2014 à 18:09
30 janv. 2014 à 18:11
Par exemple
c'est le résultat de == qui est évalué.
Quand ce que l'on veut tester est un déjà bool, comme la propriété Checked, il n'y a pas besoin de le comparer avec ==.
Je pense même que ça s'exécute plus vite puisqu'il y a une opération en moins
30 janv. 2014 à 18:16
1 févr. 2014 à 22:57