C# 如何将文本文件中的多行写入不同的文本框?

C# 如何将文本文件中的多行写入不同的文本框?,c#,C#,我是如何将这些框写入txt文件的 private void save2_Click(object sender, EventArgs e) { Stream myStream; SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = "Textdokument|*.txt"; sfd.FilterIndex = 1; sfd.RestoreDirectory = true; if (sfd.

我是如何将这些框写入txt文件的

private void save2_Click(object sender, EventArgs e)
{
    Stream myStream;
    SaveFileDialog sfd = new SaveFileDialog();
    sfd.Filter = "Textdokument|*.txt";
    sfd.FilterIndex = 1;
    sfd.RestoreDirectory = true;

    if (sfd.ShowDialog() == DialogResult.OK)
    {
        if ((myStream = sfd.OpenFile()) != null)
        {
            StreamWriter sw = new StreamWriter(myStream);

            sw.WriteLine(TextBoxCardname1.Text);
            sw.WriteLine(TextBoxCardname2.Text);
            sw.WriteLine(TextBoxCardname3.Text);
            sw.WriteLine(TextBoxCardname4.Text);
            sw.WriteLine(TextBoxCardname5.Text);
            sw.WriteLine(TextBoxCardname6.Text);
            sw.WriteLine(TextBoxCardname7.Text);
            sw.WriteLine(TextBoxCardname8.Text);
            sw.WriteLine(TextBoxCardname9.Text);
            sw.WriteLine(TextBoxCardname10.Text);
            sw.WriteLine(TextBoxCardname11.Text);
            sw.WriteLine(TextBoxCardname12.Text);
            sw.WriteLine(TextBoxCardname13.Text);
            sw.WriteLine(TextBoxCardname14.Text);
            sw.WriteLine(TextBoxCardname15.Text);
            sw.WriteLine(TextBoxCardname16.Text);
            sw.WriteLine(TextBoxCardname17.Text);
            sw.WriteLine(TextBoxCardname18.Text);
            sw.WriteLine(TextBoxCardname19.Text);
            sw.WriteLine(TextBoxCardname20.Text);
            sw.WriteLine(TextBoxCardname21.Text);
            sw.WriteLine(TextBoxCardname22.Text);
            sw.WriteLine(TextBoxCardname23.Text);
            sw.WriteLine(TextBoxCardname24.Text);
            sw.WriteLine(TextBoxCardname25.Text);
            sw.WriteLine(TextBoxCardname26.Text);
            sw.WriteLine(TextBoxCardname27.Text);
            sw.WriteLine(TextBoxCardname28.Text);
            sw.WriteLine(TextBoxCardname29.Text);
            sw.WriteLine(TextBoxCardname30.Text);
            sw.Close();
            myStream.Close();
        }
    }
}

假设您的问题的意思是,您希望获取文本文件每行的内容,并将其写入相应的textbox.text;这应该适合您:

TextBoxCardname1.Text = System.IO.File.ReadLines("Your Text File").Skip(0).Take(1).First();
TextBoxCardname2.Text = System.IO.File.ReadLines("Your Text File").Skip(1).Take(1).First();
TextBoxCardname3.Text = System.IO.File.ReadLines("Your Text File").Skip(2).Take(1).First();

     //...etc
对于正在阅读的每一行,指定要跳过的行数和要阅读的行数。Skip1,Take 1表示跳过文本文件中的第一行,然后读取第二行

如果您试图获取textbox.text并将其写入您的文本文件,则很难从您的问题中看出这是一种简单但混乱且劳动密集的方法:

        var lines = System.IO.File.ReadAllLines("Your text file");
        lines[0] = TextBoxCardname1.text);
        System.IO.File.WriteAllLines("Your text file", lines);

        var lines = System.IO.File.ReadAllLines("Your text file");
        lines[1] = TextBoxCardname2.text);
        System.IO.File.WriteAllLines("Your text file", lines);

        var lines = System.IO.File.ReadAllLines("Your text file");
        lines[2] = TextBoxCardname3.text);
        System.IO.File.WriteAllLines("Your text file", lines);

    //...etc

此方法是一种非常简单的写入文本文件中某一行的方法。第[3]行表示文本文件中的第4行,因为行号从文本文件中第一行的零[0]开始。

那么问题出在哪里?为什么要将它们写入不同的文本框而不仅仅是同一个文本框?你能更详细地说明你在做什么吗?你的问题不包括实际问题。请添加。您需要的是一个列表和一个循环。如果您已经解决了问题,请选择一个答案。