0
各行の色を付けるには、各文字列フォームリストの最後の文字に依存する必要があります。これは私のコードであり、常に最終行を緑色にしています。どうしたの?c#リッチテキストボックスの各行の色付け方法
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。テキストを変更しないでください!!!!そうしないと、フォーマットが失われます。あなたは以下のようにしてShereTextを交換することができます。 – TaW
'常に最後の行を緑色にする'本当に[このコードをコンパイルすれば](https://dotnetfiddle.net/hXHqy8) ](http://i.imgur.com/1n531J5.png)いずれにしても、最初に[ブレークポイントの使用方法を学ぶ](https://www.google.com/search?q=how+to + +ビジュアル+スタジオ+デバッガ&oq = +ビジュアル+スタジオ+デバッガ&aqs = chrome.0.0l6.3343j0j4&sourceid = chrome&ie = UTF-8を使用してコードをステップ実行する – sab669
また、なぜあなたは現在の行の最後の文字をチェックする** ** 4回**チェックする必要があるのは 'richTextBox1.SelectionBackColor =(pom.Substring(...)== 'n') ?Color.Red:Color.Green'はあなたが必要とするものです。個々の 'if'文は必要ありません。最後の文字が' n'かどうかは既に決めています。 if文の中でもう一度チェックし、上にその三元表現の結果にかかわらず同じ色を割り当てます。 – sab669