richTextBox的问题! 在做一个局域网聊天的小软件,比如2个人在聊天,我想让对方发来的消息在richTextBox1的字体是黑色的!我自己发的消息在richTextBox1是红色的! 请问怎么实现? 感谢大家指教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Graphics g= richTextBox1.CreateGraphics(); g.DrawString(......);想通过richTextBox1属性来修改貌似是不能显示两种淹死的。还是用GDI+吧 代码来自http://bingning.net/free/source/control/rtbchangecolorandfont.html//颜色设定为红色 RichTextBox1.SelectionColor = Color.Red; //追加设定为Boid的FontStyle Font fnt = new Font(RichTextBox1.SelectionFont.FontFamily, RichTextBox1.SelectionFont.Size, RichTextBox1.SelectionFont.Style | FontStyle.Bold); //字体变更 RichTextBox1.SelectionFont = fnt; //插入字符串 RichTextBox1.SelectedText = "插入字符串"; fnt.Dispose(); 刚研究过,请看这个方法和下面的使用。 关键是 AppendText 方法!/// <summary> /// 向RichTextBox添加有样式的文本内容。 /// </summary> /// <param name="rtb">RichTextBox 控件</param> /// <param name="strInput">添加的内容</param> /// <param name="fontColor">颜色</param> public void disply(ref RichTextBox rtb, string strInput, Color fontColor) { int p1 = rtb.TextLength; //取出未添加时的字符串长度。 rtb.AppendText(strInput + "\n"); //保留每行的所有颜色。 // rtb.Text += strInput + "\n"; //添加时,仅当前行有颜色。 int p2 = strInput.Length; //取出要添加的文本的长度 rtb.Select(p1, p2); //选中要添加的文本 rtb.SelectionColor = fontColor; //设置要添加的文本的字体色 //rtb.Refresh(); } /// <summary> /// 用法例子 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_add2_Click(object sender, EventArgs e) { string addstr = "NewContent_RandomColor"; Color[] color = new Color[10]; //随机颜色值 color[0] = Color.Black; color[1] = Color.Aquamarine; color[2] = Color.Blue; color[3] = Color.Brown; color[4] = Color.Red; Random s = new Random(); int ss = s.Next(1, 5); //随机号 addstr += ss.ToString(); disply(ref richTextBox1, addstr, color[ss]); //调用方法 richTextBox1.Focus(); richTextBox1.SelectionStart = richTextBox1.Text.Length;//光标放到最后一行 btn_add2.Focus(); } 可以以特殊格式存储你的数据比如<color ="#FF00FF"></color>,读取数据的时候解析下就好了 Me.RichTextBox1.SelectionColor = Color.Red Me.RichTextBox1.AppendText("紅的") Me.RichTextBox1.SelectionColor = Color.Blue Me.RichTextBox1.AppendText("藍的") Me.RichTextBox1.SelectionColor = Color.Green Me.RichTextBox1.AppendText("綠的")正好以前看到过,没有想的那么复杂 C#写一个记事本 求排列 组合 函数! 使用ExecuteNonQuery执行sql更新数据库后,为什么数据库无法删除 散分~~~~~~~ 求助:怎样不让Button按纽获得焦点? 对dataSet的操作问题 正则表达式解析 acrengine 属性查询提问 谁能告诉这是咋整地? C#定乾坤,JAVA大比拼,borland microsoft sun 编程语言大评论 如何使用Activator.CreateInstance动态实例化 求一个分组匹配图片的正则表达式
g.DrawString(......);想通过richTextBox1属性来修改貌似是不能显示两种淹死的。
还是用GDI+吧
RichTextBox1.SelectionColor = Color.Red;
//追加设定为Boid的FontStyle
Font fnt = new Font(RichTextBox1.SelectionFont.FontFamily,
RichTextBox1.SelectionFont.Size,
RichTextBox1.SelectionFont.Style | FontStyle.Bold);
//字体变更
RichTextBox1.SelectionFont = fnt;
//插入字符串
RichTextBox1.SelectedText = "插入字符串";
fnt.Dispose();
关键是 AppendText 方法!/// <summary>
/// 向RichTextBox添加有样式的文本内容。
/// </summary>
/// <param name="rtb">RichTextBox 控件</param>
/// <param name="strInput">添加的内容</param>
/// <param name="fontColor">颜色</param>
public void disply(ref RichTextBox rtb, string strInput, Color fontColor)
{
int p1 = rtb.TextLength; //取出未添加时的字符串长度。
rtb.AppendText(strInput + "\n"); //保留每行的所有颜色。 // rtb.Text += strInput + "\n"; //添加时,仅当前行有颜色。
int p2 = strInput.Length; //取出要添加的文本的长度
rtb.Select(p1, p2); //选中要添加的文本
rtb.SelectionColor = fontColor; //设置要添加的文本的字体色
//rtb.Refresh();
} /// <summary>
/// 用法例子
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btn_add2_Click(object sender, EventArgs e)
{
string addstr = "NewContent_RandomColor"; Color[] color = new Color[10]; //随机颜色值
color[0] = Color.Black;
color[1] = Color.Aquamarine;
color[2] = Color.Blue;
color[3] = Color.Brown;
color[4] = Color.Red;
Random s = new Random(); int ss = s.Next(1, 5); //随机号
addstr += ss.ToString();
disply(ref richTextBox1, addstr, color[ss]); //调用方法 richTextBox1.Focus();
richTextBox1.SelectionStart = richTextBox1.Text.Length;//光标放到最后一行
btn_add2.Focus();
}
比如<color ="#FF00FF"></color>,读取数据的时候解析下就好了
Me.RichTextBox1.SelectionColor = Color.Red
Me.RichTextBox1.AppendText("紅的")
Me.RichTextBox1.SelectionColor = Color.Blue
Me.RichTextBox1.AppendText("藍的")
Me.RichTextBox1.SelectionColor = Color.Green
Me.RichTextBox1.AppendText("綠的")正好以前看到过,没有想的那么复杂