C#textbox文本,如何不同行的对齐方式不同
我写的通讯软件,想让textbox中的发送方的信息右对齐,接收到的信息左对齐。该如何实现?是同一个textbox中的文本,既有右对齐,也有左对齐。我是使用txtLog.A...
我写的通讯软件,想让textbox中的发送方的信息右对齐,接收到的信息左对齐。该如何实现?
是同一个textbox中的文本,既有右对齐,也有左对齐。
我是使用txtLog.AppendText(txtMsg.Text);增加文本的。
补充:我知道如何让整个textbox左对齐,右对齐。我要的是内容中不同行不同的对齐。
百度和必应上都搜索了好久,没有找到合适的办法,希望有高人指点 展开
是同一个textbox中的文本,既有右对齐,也有左对齐。
我是使用txtLog.AppendText(txtMsg.Text);增加文本的。
补充:我知道如何让整个textbox左对齐,右对齐。我要的是内容中不同行不同的对齐。
百度和必应上都搜索了好久,没有找到合适的办法,希望有高人指点 展开
2个回答
展开全部
单纯的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实现格式控制。
建议你在需要右对齐的地方,在字符串前面加上一些空格,这样也能达到视觉上区分的效果。
或者使用RichTextBox实现格式控制。
追问
用了一下richTextBox。没有查到richtextbox关于每一行左对齐右对齐的方法。请问应该怎么做呢?
追答
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
richTextBox1.SelectionAlignment = HorizontalAlignment.Left;
richTextBox1 .AppendText( "这是一个左对齐行\n");
}
private void button2_Click(object sender, EventArgs e)
{
richTextBox1.SelectionAlignment = HorizontalAlignment.Right;
richTextBox1.AppendText("这是一个右对齐行\n");
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |