当前位置:编程学习 > C#/ASP.NET >>

QQ聊天对话框内,聊天者,发送者名字的字体颜色,是这么设置的?

小弟,我现在在模仿QQ的聊天对话框[img=http://b30.photo.store.qq.com/http_imgload.cgi?/rurl4_b=cb5a8bf4649420f091ab06a870f34361d7cbff5437e6da427d1627df2df2843fccc444dc5c9e9f7053fb4a831658daf61dd732ab96dae02df242588ba8723c2f5e78e39c011d31adb10ac111363d922ff032de65&a=27&b=30][/img]
腾讯QQ里面的是:
我发送信息给好友,QQ聊天对话框内 我的 昵称 字体颜色 是蓝色的,而对方 发信息给我 , 对方昵称的字体颜色是 蓝色的

这个功能怎么实现的?请各位大虾帮帮忙




--------------------编程问答-------------------- 看不到图片 --------------------编程问答-------------------- 在更新界面的时候判断是不是本人,要是本人就...
要是被人就.. --------------------编程问答-------------------- 联系我,我有
用RichTextBox就搞定了 --------------------编程问答--------------------  public void SetFont(string Name, bool Bold, bool Italic, bool Underline, Color Color, float Size)//字体,加粗,倾斜,下划线,颜色,字体大小 
        { 
            FontStyle style = FontStyle.Regular; 
            if (Bold) style |= FontStyle.Bold; 
            if (Italic) style |= FontStyle.Italic; 
            if (Underline) style |= FontStyle.Underline; 

            this.Font = new Font(Name, Size, style); 
            this.ForeColor = Color; 
        } 
--------------------编程问答-------------------- 有个 Select()  SelectionColor() 这两个方法应该可以搞定 --------------------编程问答-------------------- Select(int start,int length)选中要变色的文字  --------------------编程问答-------------------- 测试例子。。。

            richTextBox1.Text = "调试";
            richTextBox1.Select(1, 2);
            richTextBox1.SelectionColor = System.Drawing.Color.Red;


--------------------编程问答--------------------  int strL=this.richtxtboxTotal .Text .Length ;//原文本的长度 
            string User=getname +"  "+DateTime .Now .ToString ();//对方的名字和时间 
            int UserL=User .Length ;  //对方的名字和时间的长度
            this.richtxtboxTotal .AppendText (User+"\n"+str+"\n"  );  //添加
            this.richtxtboxTotal .Select (strL ,UserL );   //把刚刚加的选中 
            this.richtxtboxTotal .SelectionColor =Color .Red ;  //把颜色改为红色  --------------------编程问答-------------------- int strL=this.richtxtboxTotal .Text .Length ;//原文本的长度 
            string User=getname +"  "+DateTime .Now .ToString ();//对方的名字和时间 
            int UserL=User .Length ;  //对方的名字和时间的长度 
            this.richtxtboxTotal .AppendText (User+"\n"+str+"\n"  );  //添加 
            this.richtxtboxTotal .Select (strL ,UserL );  //把刚刚加的选中 
            this.richtxtboxTotal .SelectionColor =Color .Red ;  //把颜色改为红色  --------------------编程问答-------------------- 楼主正确,楼下的就不吭声了
--------------------编程问答--------------------
引用 9 楼 alang2528 的回复:
int strL=this.richtxtboxTotal .Text .Length ;//原文本的长度
            string User=getname +"  "+DateTime .Now .ToString ();//对方的名字和时间
            int UserL=User .Length ;  //对方的名字和时间的长度
            this.richtxtboxTotal .AppendText (User+"\n"+str+"\n"  );  //添加
            this.richtxtboxTotal .Select (strL ,UserL );  //把刚刚加的选中
            this.richtxtboxTotal .SelectionColor =Color .Red ;  //把颜色改为红色


up --------------------编程问答-------------------- UP 5楼的 --------------------编程问答-------------------- 就是楼上的那个方法! --------------------编程问答-------------------- ddddddddddd --------------------编程问答-------------------- 那再次发送的时候又变回成了,没用啊 --------------------编程问答-------------------- --------------------编程问答--------------------

 Select() 就行了,效果图:http://hi.csdn.net/space-300592-do-album-picid-967137.html
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,