C#中Listbox、Textbox、Richtextbox三者之间的区别 ?

Listbox:列表框,可以添加文本输出,只能以行输出,若想要一行数据自动换行,只能通过计算宽度来Add多次,文本不可以自动换行,但是每行可以添加颜色。滚动到最底行:

listbox.TopIndex = this.listbox.Items.Count - (int)(listbox.Height/listbox.ItemHeight); //获取当前最底行

颜色变换:

现在前面窗体load中加入,listbox.DrawMode = DrawMode.OwnerDrawFixed;//控件中元素可以手动绘制

void listbox_DrawItem(object sender, DrawItemEventArgs e)   //在listbox的DrawItem事件中重绘当前行的字体颜色

{

          e.DrawBackground();

          Brush mybsh = Brushes.Black;

          if(listbox.Items[e.Index].ToString().IndexOf("Error")  != -1)  //如果当前行的内容中有“Error”,那么该行显示为红色

                    mybsh = Brushes.Red;

           e.DrawFocusRectangle();

           e.Graphics.DrawString(listbox.Items[e.Index].ToString(), e.Font, mybsh, e.Bounds, StringFormat.GenericDefault);

}

 

Textbox:文本框,可以添加文本输出,文本支持自动换行,每行不可以添加颜色进行显示,换行符“\r\n”。滚动最底行:

richtextbox.SelectionStart = richtextbox.Text.Length - 1; //获取文本起始点

richtextbox.ScrollTocaret();//滚动条滚动到当前插入符号位置

 

Richtextbox:Textbox的加强版,可以添加文本输出,文本支持自动换行,每行可以添加颜色显示,换行符“\n”。注意如果需要将该richtextbox的内容打到日志中,需要先将字符串中的换行符“\n”全部替换为“\r\n”。颜色变换/滚动到最底行:

richtextbox.SelectionStart = richtextbox.TextLength;//获取文本起始点

richtextbox.SelectionColor = Color.Red;//设置文本起始点颜色

LV.AppendText(Environment.NewLine + “[” + DateTime.Now.ToString() + "]:" + message);//添加文本

richtextbox.SelectionStart = richtextbox.Text.Length - 1; //获取文本起始点

richtextbox.ScrollTocaret();//滚动条滚动到当前插入符号位置

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值