单纯的TextBox不好弄,如果是模仿QQ,你可以看到它也不单纯是个编辑器,而是类似一个Panel里面动态的Textbox,给你个示例
//新建Winform,拖一个Panel,产生Load事件,粘贴代码
private void testTextAlign_Load(object sender, EventArgs e)
{
this.AddMsg("left", true);
this.AddMsg("right", false);
}
int LastTop = 0;//最后一个TextBox的Top
private void AddMsg(string msg, bool left)
{
TextBox tb = new TextBox();
tb.BorderStyle = BorderStyle.None;
tb.Text = msg;
tb.TextAlign = left ?
HorizontalAlignment.Left :
HorizontalAlignment.Right;
this.panel1.Controls.Add(tb);
tb.Width = this.panel1.Width - 5;
tb.ForeColor = left ? Color.Green : Color.Blue;
this.LastTop += tb.Height + 5;
tb.Top = this.LastTop;
}
textbox中的内容就是简单的字符串,所以没法设置这种复杂的格式。
建议你在需要右对齐的地方,在字符串前面加上一些空格,这样也能达到视觉上区分的效果。
或者使用RichTextBox实现格式控制。