C#RichTextBox控件设定指定字词句的颜色字体
的有关信息介绍如下:在软件中为了突出某句话某个词,通过程序设计来着重显示,这样能给人一种层次感;今天我就用RichTextBox控件来实现;通过设定要着重显示的字词句,设定显示的字体颜色、字体的形态和字体大小来呈现RichTextBox控件的用法。
创建一个项目,在Form中添加一个RichTextBox控件rtb_main、ColorDialog控件colorDialog1、字体颜色按钮btn_setcolor、字形ComboBox控件的cb_zx、字体大小TextBox控件的tb_size,着重显示文字TextBox控件的tb_select;
设定默认值:要显示的文本摘抄“新回享计划是什么的?”的回答;默认字体加粗,字体大小20,字体颜色为绿色,默认着重显示为“百度”;为了显示区别给选定的文字加了绿色的背景颜色;现在来点击执行看看效果吧。
那么是怎么实现的呢?跟着我一步一步来研究代码吧。首先我们来设定字体字形。在点击下拉框的时候执行如下代码
private void cb_zx_DropDown(object sender, EventArgs e)
{
cb_zx.Items.Clear();
cb_zx.Items.Add("Bold"); //加粗文本
cb_zx.Items.Add("Italic"); //倾斜文本
cb_zx.Items.Add("Regular"); //普通文本
cb_zx.Items.Add("Strikeout"); //中间有直线通过的文本 cb_zx.Items.Add("Underline"); //带下划线文本
}
字体颜色用到了ColorDialog控件,具体的实现代码为点击字体颜色按钮btn_setcolor执行;
private void btn_setcolor_Click(object sender, EventArgs e){
DialogResult dialog = colorDialog1.ShowDialog()
if (dialog == DialogResult.OK)
{
ztys = colorDialog1.Color;
}}
初始化的设计在程序加载中就执行
private void Form1_Load(object sender, EventArgs e)
{
cb_zx.Text = "Bold";
rtb_main.Text =
"新回享计划是百度经验全新推出的贡献者创收计划,主要通过现金激励的方式,\r\n+ "让更多爱生活、爱分享的人,用经验创造价值。\r\n" + "成为新回享作者,此后发布的每篇经验都将获得现金回报。\r\n"
tb_select.Text = "百度"
tb_size.Text = "20"
}
Color ztys = Color.Green;
准备工作做好了,来看看测试效果的代码实现吧。首先我们要做到匹配“百度”的时候,有“百”能着重显示并且“度”也要着重显示,这样连在一起了“百度”都能着重显示了;
是不是迫不及待的想要知道实现的代码呢?ok,现在就来粘贴代码:
private void btnRun_Click(object sender, EventArgs e
{
for (int i = 0; i < rtb_main.Text.Length; i++)
{
for (int select = 0; select < tb_select.Text.Length; select++)
{
if (rtb_main.Text[i] ==tb_select.Text[select]
{
rtb_main.Select(i, 1) ;
rtb_main.SelectionColor = colorDialog1.Color;
rtb_main.SelectionBackColor = Color.Green;
int size = 20;
try { size = Convert.ToInt32(tb_size.Text); }
catch { size = 20; }
rtb_main.SelectionFont = new Font("bold", size);
}
}
}
}