如何将文本框值保存到多行文本文件中

How to save TextBoxes Values into a multiline text file

请看下面

我的表单有多个文本框

我想将这些值保存到一个包含多行文本文件的文本文件中。

但我的代码似乎不起作用。它仅将值保存为一个字符串。 我想按行保存它

例如。我想要达到的目标

请看下面我的代码

   SaveFileDialog save = new SaveFileDialog();

        save.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*";

            if (save.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {

                StreamWriter write = new StreamWriter(File.Create(save.FileName));



                write.Write(X1TB.Text.Replace(Environment.NewLine, @" \n "));
                write.Write(X2TB.Text.Replace(Environment.NewLine, @" \n "));
                write.Write(X3TB.Text.Replace(Environment.NewLine, @" \n "));
                write.Write(X4TB.Text);
                write.Write(X5TB.Text);
                write.Write(X6TB.Text);
                write.Write(X7TB.Text);
                write.Write(X8TB.Text);
                write.Write(X9TB.Text);
                write.Write(X10TB.Text);
                write.Write(X11TB.Text);
                write.Write(X12TB.Text);
                write.Write(X13TB.Text);
                write.Write(X14TB.Text);
                write.Write(X15TB.Text);
                write.Write(X16TB.Text);
                write.Write(X17TB.Text);
                write.Write(X18TB.Text);
                write.Write(X19TB.Text);
                write.Write(X20TB.Text);

                write.Dispose();

                MessageBox.Show("The file is now saved!", "Successful!");

提前感谢那些愿意提供帮助的人。

如果您只使用这些文本框,您可以简化代码,如下所示:

var sb = new StringBuilder();
for(int index = 1; index <= 20; index++)
{
    var tb = (TextBox)this.Controls.Find($"X{index}TB", true).FirstOrDefault;
    sb.AppendLine(tb.Text);
}

// Save the contents of the file.
var write = new StreamWriter(File.Create(save.FileName));
write.Write(sb.ToString());

试试这个

    write.WriteLine(X1TB.Text);
    write.WriteLine(X2TB.Text);
    write.WriteLine(X3TB.Text);
    write.WriteLine(X4TB.Text);
    write.WriteLine(X5TB.Text);
    write.WriteLine(X6TB.Text);
    write.WriteLine(X7TB.Text);
    write.WriteLine(X8TB.Text);
    write.WriteLine(X9TB.Text);
    write.WriteLine(X10TB.Text);
    write.WriteLine(X11TB.Text);
    write.WriteLine(X12TB.Text);
    write.WriteLine(X13TB.Text);
    write.WriteLine(X14TB.Text);
    write.WriteLine(X15TB.Text);
    write.WriteLine(X16TB.Text);
    write.WriteLine(X17TB.Text);
    write.WriteLine(X18TB.Text);
    write.WriteLine(X19TB.Text);
    write.WriteLine(X20TB.Text);

这是我的工作方式

System.IO.File.WriteAllLines(@"C:\TextFile1.txt", new string[] { "1", "2", "3", "4" });

好像

1<br> 2<br> 3<br> 4