C#在RichTextBox控件中的文本上返回颜色

时间:2011-03-22 15:21:25

标签: c# winforms colors richtextbox fixed-width

我创建了一个Windows窗体应用程序,它读取固定宽度的文本文件,从用户输入获取列的宽度,然后使用它来显示屏幕上具有不同文本颜色的不同列。它的工作方式很好。

但是,如果字段为空白则不起作用 - 在我正在使用的文本文件中,它们有时是;但我仍然希望它们被定义。所以我认为最好的方法是在它上面加一个背面颜色,如下所示:

http://tinypic.com/r/2ic38sm/7

但是我找不到如何用RichTextBox来做 - 有可能吗?如果没有,我有什么方法可以用Windows形式做到这一点吗?

提前致谢!

2 个答案:

答案 0 :(得分:1)

您可以使用:

RichTextBox1.SelectAll();
RichTextBox1.SelectionBackColor = Color.Yellow;

如果您正在考虑更改文字的颜色,那么您可以使用:

RichTextBox1.SelectionColor = Color.Red;

以下是一个有用的链接:RichTextBox Tips

取自上面的链接:

richTextBox1.Font = new Font("Consolas", 18f, FontStyle.Bold);
richTextBox1.BackColor = Color.AliceBlue;
string[] words =
{
    "Dot",
    "Net",
    "Perls",
    "is",
    "a",
    "nice",
    "website."
};
Color[] colors =
{
    Color.Aqua,
    Color.CadetBlue,
    Color.Cornsilk,
    Color.Gold,
    Color.HotPink,
    Color.Lavender,
    Color.Moccasin
};

for (int i = 0; i < words.Length; i++)
{
    string word = words[i];
    Color color = colors[i];
    {
        richTextBox1.SelectionBackColor = color;
        richTextBox1.AppendText(word);
        richTextBox1.SelectionBackColor = Color.AliceBlue;
        richTextBox1.AppendText(" ");
    }
}

答案 1 :(得分:0)

richTextBox上没有Selection.BackColor属性吗?

带有详细信息视图的GridView或ListView不能更好地控制您的问题吗?