C#怎么将txt文件的多行数据读取到多个textbox控件中,一个textbox控件读文本文件的一行数据

C#怎么将txt文件的多行数据读取到多个textbox控件中,一个textbox控件读文本文件的一行数据... C#怎么将txt文件的多行数据读取到多个textbox控件中,一个textbox控件读文本文件的一行数据 展开
 我来答
freeeeeewind
2015-08-02 · TA获得超过1万个赞
知道大有可为答主
回答量:3227
采纳率:94%
帮助的人:1354万
展开全部

根据文本文件内容的行数,动态加载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)运行结果

三月雨滴_
2013-12-29 · TA获得超过606个赞
知道小有建树答主
回答量:484
采纳率:57%
帮助的人:204万
展开全部

你把你的text控件都放在一个panel里面,name 都用规律的,比如 txt1,txt2,txt3 .....,然后循环如下

System.IO.StreamReader sr = new System.IO.StreamReader("test.txt");
            int id = 0;
            while (!sr.EndOfStream)
            {
                Control[] controls = this.pnl1.Controls.Find("txt" + (id++).ToString(), true);
                if (controls == null) continue;
                foreach (Control control in controls)
                {
                    if (control is TextBox)
                        control.Text = sr.ReadLine();
                }
            }
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunyankui765
2013-12-29
知道答主
回答量:21
采纳率:0%
帮助的人:7万
展开全部
StreamReader s = new StreamReader();
TextBox1.Text= s.ReadLine();
追问
读取到多个textbox控件..文本文件每一行,读取到每一个textbox控件
追答
StreamReader s = new StreamReader(); TextBox1.Text= s.ReadLine();
TextBox2.Text= s.ReadLine();
或者反射赋值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式