如何将文本框值保存到多行文本文件中
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
请看下面
我的表单有多个文本框
我想将这些值保存到一个包含多行文本文件的文本文件中。
但我的代码似乎不起作用。它仅将值保存为一个字符串。 我想按行保存它
例如。我想要达到的目标
请看下面我的代码
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