RichTextBox如何设置指定段落的字体格式?
网上搜了很多教程,要么不能实现,要么太复杂,在此,提供一个最简单的办法。
废话不多说,直接上代码:
string str = "#";//指定字符串
//以下两行设置指定段落的字体
richTextBox1.Select(0, richTextBox1.Lines[0].Length);//选中第一个段落
richTextBox1.SelectionFont = new Font("黑体", 16, richTextBox1.SelectionFont.Style);//设置选中段落字体名称为“黑体”,字号大小为16号,字体样式保留原字体样式不变
//以下内容设置包含指定字符的段落字体格式
int rowCount = richTextBox1.Lines.Count();//段落总数
for (int i=0;i<rowCount;i++)//设置每一个段落
{
if (richTextBox1.Lines[i].Contains(str))//该段落如果包含指定的字符,则设置该段落的字体
{
int index = richTextBox1.Text.IndexOf(richTextBox1.Lines[i]);//获取这个段落在全文的索引值
richTextBox1.Select(index, richTextBox1.Lines[i].Length);//选中这个段落
richTextBox1.SelectionColor = Color.Blue;//设置字体颜色为蓝色
richTextBox1.SelectionFont = new Font("黑体",14, Fong.Bold);//设置字体名称为“黑体”,字号为14号,字体样式为加粗
}
}
richTextBox1.Select(0, 0);//回到文档开头
依次类推,还可以在RichTextBox中设置指定字符内容的格式,具体代码在此不作赘述,大体思路是:
首先找到指定字符串在全文的索引:
int index = richTextBox1.Text.IndexOf(str);
然后选中该字符串:
richTextBox1.Select(index, str.Length);
然后设置选中内容的格式,例如,以下给字体加了下划线:
richTextBox1.SelectionFont = new Font(richTextBox1.SelectionFont,Font.Underline);