1

出力を提供する Jar ファイルと、出力が書き込まれるリッチ テキスト ボックスがあります。Jar ファイルが提供する各文字列は、リッチ テキスト ボックスの新しい行です。行に特定のキーワードが含まれている場合は、色を変更したいと思います。私は次のことを試しました:

if (textR.Contains("[INFO]"))
{
    //txtboxServerOutput.Text += textR + "\n";
    txtboxServerOutput.SelectedText = textR;
    txtboxServerOutput.SelectionColor = Color.Aqua;
}
else
{
    txtboxServerOutput.Text += textR + "\n";
}

その結果、出力がめちゃくちゃになります。リッチ テキスト ボックスは、"[INFO]" を含むテキストの一部に色を付けていますが、すべてではなく、すべてが 1 行になっています。どうすればこれを修正できますか?

4

2 に答える 2

3

のオーバーロードを作成することになりましたAppendText

// Adds new overload for AppendText for rich textboxes
public static class RichTextBoxExtensions
{
        public static void AppendText(this RichTextBox txtbox, string text, Color color)
        {
            txtbox.SelectionStart = txtbox.TextLength;
            txtbox.SelectionLength = 0;

            txtbox.SelectionColor = color;
            txtbox.AppendText(text);
            txtbox.SelectionColor = txtbox.ForeColor;
        }
};

だから今私はこれを行うことができます:

richTextBox.AppendText("some random text", Color.Blue);
于 2013-04-01T04:20:47.980 に答える
0

これを試して -

if (textR.Contains("[INFO]"))
{
    txtboxServerOutput.SelectionColor = Color.Aqua;
}
txtboxServerOutput.SelectedText = textR + "\n";
于 2013-03-26T13:44:53.173 に答える