在 WinForms 中实现 TextBox 多行输出且自动换行,需要设置两个关键属性。下面详细介绍:
一、属性设置(两种方式)
方式1:通过设计器设置(推荐)
-
选中
TextBox控件 -
在属性窗口中找到以下属性并修改:
| 属性 | 值 | 作用 |
|---|---|---|
Multiline |
True |
启用多行模式 |
WordWrap |
True |
自动换行(默认就是True) |
ScrollBars |
Vertical 或 Both |
显示滚动条 |
ScrollBars 选项说明:
-
None- 无滚动条(不推荐多行时使用) -
Horizontal- 仅水平滚动条 -
Vertical- 仅垂直滚动条(最常用) -
Both- 水平和垂直滚动条
方式2:通过代码设置
cs
// 在窗体构造函数或Load事件中设置
textBox1.Multiline = true; // 启用多行
textBox1.WordWrap = true; // 自动换行
textBox1.ScrollBars = ScrollBars.Vertical; // 垂直滚动条
二、文本输出的方法
方法1:直接赋值(覆盖原有内容)
cs
// 直接设置整个文本
textBox1.Text = "第一行\n第二行\n第三行";
方法2:追加文本(保留原有内容)
cs
// 追加一行(推荐写法)
textBox1.AppendText("这是新的一行" + Environment.NewLine);
// 或者使用 +=
textBox1.Text += "这是新的一行" + Environment.NewLine;
方法3:循环输出多行
cs
// 输出数字1到10,每行一个
for (int i = 1; i <= 10; i++)
{
textBox1.AppendText($"第{i}行:Hello" + Environment.NewLine);
}
三、完整示例代码
设计器设置后的代码示例:
cs
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// 或者在这里通过代码设置
// textBox1.Multiline = true;
// textBox1.WordWrap = true;
// textBox1.ScrollBars = ScrollBars.Vertical;
}
// 按钮1:添加一行文本
private void button1_Click(object sender, EventArgs e)
{
textBox1.AppendText("hello" + Environment.NewLine);
}
// 按钮2:批量输出
private void button2_Click(object sender, EventArgs e)
{
// 清空原有内容
textBox1.Clear();
// 输出多行内容
for (int i = 1; i <= 5; i++)
{
textBox1.AppendText($"第{i}次输出:hello" + Environment.NewLine);
}
}
// 按钮3:实时显示日志(常见场景)
private void button3_Click(object sender, EventArgs e)
{
DateTime now = DateTime.Now;
textBox1.AppendText($"[{now:HH:mm:ss}] 操作执行成功" + Environment.NewLine);
// 自动滚动到底部(显示最新内容)
textBox1.ScrollToCaret();
}
}