根据文本文件内容的行数,动态加载TextBox并在每个TextBox中显示一行内容。实现方法如下:
(1)在Visutal Studio中新建一个“Windows应用程序”
(2)在Form1上布置一个Button

(3)窗体代码 Form1.cs
using System;
using System.Windows.Forms;
using System.IO;
namespace WindowsFormsApplication6
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
button1.Text = "读文本文件";
}
private void button1_Click(object sender, EventArgs e)
{
// 读入文本文件
// 注意:利用记事本创建的文本文件的编码格式必须是Unicode或UTF-8
string[] lines = File.ReadAllLines(@"d:\sample.txt");
// 动态加载TextBox并在每个TextBox中显示一行内容
TextBox textBox = null;
foreach (string line in lines)
{
textBox = AddTextBox(textBox);
textBox.Text = line;
}
}
/// <summary>
/// 向窗体上动态添加TextBox
/// ^^^^^^^^^^^^^^^^^^^^^^^
/// 新添加的文本框位于由参数PrevTextBox指定的前一个文本框的下方
/// 如果PrevTextBox=null表示添加的文本框为第一个
/// </summary>
/// <param name="prevTextBox">前一个文本框</param>
/// <returns>新添加的文本框</returns>
private TextBox AddTextBox(TextBox prevTextBox)
{
TextBox textBox = new TextBox();
textBox.Left = 10;
if (prevTextBox == null)
{
// 第一个文本框
textBox.Top = 10;
}
else
{
// 新添加的文本框在前一个文本框的下方
textBox.Top = prevTextBox.Top + prevTextBox.Height + 5;
}
this.Controls.Add(textBox);
return textBox;
}
}
}
(4)运行结果
