C# 如何改变richtextbox中某个字符颜色

kousansky 2011-12-06 06:49:35
c# winform richtextbox
给richtextbox一行一行的赋值,当某一行字符串中包含比如"good"时,就把这几个字母变成红色,不包含就不变色.
请问如何实现.
如下:
this is a dog.
what are you doing?
so good! thank you for your help.
good luck toyou.


---类似与上边这样
...全文
2364 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mm_loveYou 2011-12-06
  • 打赏
  • 举报
回复

private void 局部改变颜色ToolStripMenuItem_Click(object sender, EventArgs e)//局部改变字体的颜色
{
if (colorDialog1.ShowDialog() == DialogResult.OK)
{
richTextBox1.SelectionColor = colorDialog1.Color;
}
}

当然首先要添加colorDialog1,在工具箱->对话框。
Mm_loveYou 2011-12-06
  • 打赏
  • 举报
回复

private void 局部改变颜色ToolStripMenuItem_Click(object sender, EventArgs e)//局部改变字体的颜色
{
if (colorDialog1.ShowDialog() == DialogResult.OK)
{
richTextBox1.SelectionColor = colorDialog1.Color;
}
}
当然首先要添加colorDialog1,在工具箱->对话框。
wnyxy001 2011-12-06
  • 打赏
  • 举报
回复

for (int i = 0; i < str.Length;i++ )
{
int lenth = richTextBox1.Text.Length;
richTextBox1.AppendText(str[i]+"\r\n");
if (richTextBox1.Lines[i].Contains("good"))
{
richTextBox1.Select(lenth + richTextBox1.Lines[i].IndexOf("good"), 4);
richTextBox1.SelectionColor = Color.Red;
}
}

简单的方法
wnyxy001 2011-12-06
  • 打赏
  • 举报
回复

string[] str = { "this is a dog.", "what are you doing?", "so good! thank you for your help.", "good luck toyou." };
foreach(string str0 in str)
{
if (str0.Contains("good"))
{
int index=str0.IndexOf("good");
richTextBox1.SelectionColor = Color.Black;
richTextBox1.AppendText(str0.Substring(0,index));
richTextBox1.SelectionColor = Color.Red;
richTextBox1.AppendText("good");
richTextBox1.SelectionColor = Color.Black;
richTextBox1.AppendText(str0.Substring(index+4)+"\r\n");
}
else
{
richTextBox1.SelectionColor = Color.Black;
richTextBox1.AppendText(str0+"\r\n");
}

比较笨的方法
烟波钓 2011-12-06
  • 打赏
  • 举报
回复
这个倒是没搞过 标记下

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧