C# richtextbox单独设置单行字体颜色

wozaiqingniao 2010-03-28 02:39:00
简单点说:功能类似于QQ的那个。
RichTextBox控件的,里面的每一行的字体,字的颜色不一样,怎么实现?
我需要代码,我今天研究了好久别人说给我思路,做不到哦,第一次用那个东西,急!
...全文
1721 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
QingFengDaoZhang 2010-11-24
  • 打赏
  • 举报
回复
我来看看
telancs 2010-03-28
  • 打赏
  • 举报
回复
学习了,有机会实践一下,第一次碰到这种需求
wuyq11 2010-03-28
  • 打赏
  • 举报
回复
int length = 0;
for (int i = 0; i <6; i++)
{
length += richTextBox1.Lines[i].Length;
}
richTextBox1.Select(length, 2);
richTextBox1.SelectionColor = Color.Red;
richTextBox1.SelectionFont = new Font("Tahoma", 12, FontStyle.Bold); richTextBox1.SelectionLength = 0;
-过客- 2010-03-28
  • 打赏
  • 举报
回复
一个简单的例子

richTextBox1.Text = "aa\r\nbb\r\nbb\r\ncc\r\nbb\r\nbb\r\ncc";
int start = 0;
int count = 1;
int index = richTextBox1.Text.IndexOf('\n', start);
while (index > -1)
{
richTextBox1.Select(start, index - start);
setColor(count);
count++;
start = index + 1;
index = richTextBox1.Text.IndexOf('\n', start);
}
richTextBox1.Select(start, richTextBox1.Text.Length-start);
setColor(count);
//根据行数设置颜色
private void setColor(int lines)
{
if (lines % 3 == 0)
richTextBox1.SelectionColor = Color.Red;
else if (lines % 3 == 1)
richTextBox1.SelectionColor = Color.Green;
else
richTextBox1.SelectionColor = Color.Blue;
}

110,546

社区成员

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

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

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