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();//滚动条滚动到当前插入符号位置