Je dois colorier chaque ligne en fonction du dernier caractère de chaque liste de formes de chaînes. C'est mon code et ça fait toujours la dernière ligne verte. Qu'est ce qui ne va pas avec ça?C# comment colorer chaque ligne dans richtextbox
List<string> plik = File.ReadAllLines(path).ToList();
string pom;
int size = plik.Count;
richTextBox1.Clear();
for (int i = 0; i < size; i++)
{
richTextBox1.Text += "[" + i.ToString() + "]" + " " + plik[i] + Environment.NewLine;
pom =plik[i];
richTextBox1.Select(richTextBox1.GetFirstCharIndexFromLine(i), richTextBox1.Lines[i].Length);
// richTextBox1.Select(0, pom.Length);
if (pom.Substring(pom.Length - 1) == "n")
{
richTextBox1.SelectionBackColor = pom.Substring(pom.Length - 1) == "n" ? Color.Red :Color.Red;
}
if(pom.Substring(pom.Length - 1) != "n")
{
richTextBox1.SelectionBackColor = pom.Substring(pom.Length - 1) != "n"?Color.Green:Color.Green;
}
}
_richTextBox1.Text + = _ Boom. Ne modifiez jamais le texte !!!! Ou bien vous perdrez tout formatage. Vous pouvez sélectionner (comme vous le faites ci-dessous, puis échanger le SectedText, cependant.) – TaW
'Toujours faire la dernière ligne verte' vraiment? [Si je compile ce code] (https://dotnetfiddle.net/hXHqy8) je reçois [cette sortie ] (http://i.imgur.com/1n531J5.png) Dans tous les cas, je pense que vous devriez d'abord [apprendre à utiliser les points d'arrêt] (https://www.google.com/search?q=how+to + use + le + visual + studio + debugger & oq = comment + utiliser + + + visual + studio + debugger & aqs = chrome.0.0l6.3343j0j4 & sourceid = chrome & ie = UTF-8) et parcourir votre code – sab669
Aussi, pourquoi Si vous avez un code redondant, vous pouvez vérifier le dernier caractère de la ligne en cours ** quatre fois ** Vous n'avez qu'à le vérifier une fois. 'richTextBox1.SelectionBackColor = (pom.Substring (...) == 'n') «Color.Red: Color.Green» est tout ce dont vous avez besoin, vous n'avez pas besoin d'une instruction individuelle séparée «if» - vous avez déjà déterminé si le dernier caractère est un «n» ou non. re à l'intérieur de vos déclarations if, vous vérifiez à nouveau, et en haut de ce que vous attribuez la même couleur quel que soit le résultat de cette expression ternaire. – sab669