C#中richTextBox的问题,来寻求大家的帮助 我在richTextBox中输入一些文字,现在我需要实现这样一个功能:当我输入:“系统:你好!欢迎您使用!”的时候,我要把系统两个字的颜色自动变为红色,其他的不变。也就是说当里面出现系统两个字是,这两个字总是以红色出现。请问要怎么弄呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给个思路给你,捕获字符串,if(string s = "系统")s.Front.Color.Read;我没有经过编译器,手写的,记得是这样我以前也做过的。忘对你有所帮助。 思路:在textbox的textchange事件里面写代码一旦发现有"系统"两个字。。就直接改变它的颜色。Font private void richTextBox1_TextChanged(object sender, EventArgs e) { string str = "系统"; if (richTextBox1.Text.EndsWith(str)) { char[] cs = str.ToCharArray(); string[] strs = richTextBox1.Text.Split(new string[] { str }, StringSplitOptions.None); richTextBox1.Clear(); for (int i = 0; i < strs.Length; i++) { richTextBox1.SelectionColor = Color.Black; richTextBox1.AppendText(strs[i]); if (i < strs.Length - 1) { richTextBox1.SelectionColor = Color.Red; richTextBox1.AppendText(str); richTextBox1.SelectionColor = Color.Black; } } } }你试试看,我在自己的机器上测试通过了 //rich 传入你写入的RichTextBox //guanjianzi关键字 (系统) //关键字的颜色(Red) //普通文本的颜色(Black) private void ReplaceColor(RichTextBox rich, string guanjianzi, Color color,Color color1) { if (rich.Text.Length == 0 || guanjianzi.Equals("")) return; int n = 0; int p = -1; int length=guanjianzi.Length; while (true) { p = rich.Text.IndexOf(guanjianzi, n); if (p > -1) { rich.Select(p, length); rich.SelectionColor = color; rich.SelectionStart = rich.Text.Length; rich.SelectionColor = color1; n = p + length - 1; p = -1; } else { break; } } } //内容改变事件里调用方法 private void richTextBox1_TextChanged(object sender, EventArgs e) { ReplaceColor(richTextBox1, "系统", Color.Red,Color.Black); } //rich 传入你写入的RichTextBox //guanjianzi关键字 (系统) //color关键字的颜色(Red) //color1普通文本的颜色(Black) private void ReplaceColor(RichTextBox rich, string guanjianzi, Color color,Color color1) { if (rich.Text.Length == 0 || guanjianzi.Equals("")) return; int n = 0; int p = -1; int length=guanjianzi.Length; while (true) { p = rich.Text.IndexOf(guanjianzi, n); if (p > -1) { rich.Select(p, length); rich.SelectionColor = color; rich.SelectionStart = rich.Text.Length; rich.SelectionColor = color1; n = p + length - 1; p = -1; } else { break; } } } //内容改变事件里调用方法 private void richTextBox1_TextChanged(object sender, EventArgs e) { ReplaceColor(richTextBox1, "系统", Color.Red,Color.Black); } if (richTextBox1.Text.Contains(str)) 怎么获取 Fileupload 上传文件的 完全路径? 求助:如何用wpf做一个侧边栏 通过socket发送xml到另一台主机解析保存xml 用c#实现 求助:C#应用程序中数据库操作问题 关于一对多数据表的插入、更新问题! 请教关于OleDbConnection的问题!! 小弟最近被逼,得速成做个C#的东西,问题一堆,欲哭无泪,前辈救我 如何寫上傳文件到指定一台機器? ¥$@請問flash Mx 與XML 結合做button menu? 请问"状态服务器"是什么? 请高手看看这段代码错在哪里?好像连接数据库没反应 安装服务出错
在textbox的textchange事件里面写代码
一旦发现有"系统"两个字。。就直接改变它的颜色。Font
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
string str = "系统";
if (richTextBox1.Text.EndsWith(str))
{
char[] cs = str.ToCharArray();
string[] strs = richTextBox1.Text.Split(new string[] { str }, StringSplitOptions.None);
richTextBox1.Clear();
for (int i = 0; i < strs.Length; i++)
{
richTextBox1.SelectionColor = Color.Black;
richTextBox1.AppendText(strs[i]);
if (i < strs.Length - 1)
{
richTextBox1.SelectionColor = Color.Red;
richTextBox1.AppendText(str);
richTextBox1.SelectionColor = Color.Black;
}
}
}
}你试试看,我在自己的机器上测试通过了
//guanjianzi关键字 (系统)
//关键字的颜色(Red)
//普通文本的颜色(Black)
private void ReplaceColor(RichTextBox rich, string guanjianzi, Color color,Color color1)
{
if (rich.Text.Length == 0 || guanjianzi.Equals(""))
return;
int n = 0;
int p = -1;
int length=guanjianzi.Length;
while (true)
{
p = rich.Text.IndexOf(guanjianzi, n);
if (p > -1)
{
rich.Select(p, length);
rich.SelectionColor = color;
rich.SelectionStart = rich.Text.Length;
rich.SelectionColor = color1;
n = p + length - 1;
p = -1;
}
else
{
break;
}
}
}
//内容改变事件里调用方法
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
ReplaceColor(richTextBox1, "系统", Color.Red,Color.Black);
}
//guanjianzi关键字 (系统)
//color关键字的颜色(Red)
//color1普通文本的颜色(Black)
private void ReplaceColor(RichTextBox rich, string guanjianzi, Color color,Color color1)
{
if (rich.Text.Length == 0 || guanjianzi.Equals(""))
return;
int n = 0;
int p = -1;
int length=guanjianzi.Length;
while (true)
{
p = rich.Text.IndexOf(guanjianzi, n);
if (p > -1)
{
rich.Select(p, length);
rich.SelectionColor = color;
rich.SelectionStart = rich.Text.Length;
rich.SelectionColor = color1;
n = p + length - 1;
p = -1;
}
else
{
break;
}
}
}
//内容改变事件里调用方法
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
ReplaceColor(richTextBox1, "系统", Color.Red,Color.Black);
}