如何使用 streamwriter 将 TextBox 文本保存到文本文件
How to save TextBox text to text file using streamwriter
首先我不得不说我是 c# 编程的新手。我的问题是,我有一个 window,里面有一个文本框和一个按钮,我想要完成的是将一些文本写入文本框,然后单击按钮,我想将该文本保存到ukony.txt 文件。但是使用下面的代码,点击按钮后没有任何反应。
public partial class Window1 : Window {
public Window1() {
InitializeComponent();
}
private void button_Click(object sender, RoutedEventArgs e)
{
string writerfile = @"D:\Games\ukony.txt";
Window1 a = new Window1();
using (StreamWriter writer = new StreamWriter(writerfile))
{
writer.WriteLine(a.textBlock.Text);
writer.WriteLine(a.textBlock1.Text);
}
}
}
不要使用 window 的新实例。使用当前的。要访问当前实例的文本块,您应该使用 this
关键字:
private void button_Click(object sender, RoutedEventArgs e)
{
string writerfile = @"D:\Games\ukony.txt";
using (StreamWriter writer = new StreamWriter(writerfile))
{
writer.WriteLine(this.textBlock.Text);
writer.WriteLine(this.textBlock1.Text);
}
}
问题详情:这一行:
Window1 a = new Window1();
您创建了一个带有空控件的新 Window。这些与您在屏幕上看到的以及您可能输入过内容的内容不同。
不工作的原因是 Window1
class 的新创建实例。这与您实际看到的 UI 完全不同。所以不需要在那个地方创建实例,直接使用textBox名称访问text
private void button_Click(object sender, RoutedEventArgs e)
{
string writerfile = @"D:\Games\ukony.txt";
using (StreamWriter writer = new StreamWriter(writerfile))
{
writer.WriteLine(textBlock.Text);
writer.WriteLine(textBlock1.Text);
}
}
为什么要使用 StreamWriter
?我认为这样更容易:
private void button_Click(object sender, RoutedEventArgs e)
{
string writerfile = @"D:\Games\ukony.txt";
System.IO.File.WriteAllText(writerFile, this.textBlock.Text);
System.IO.File.AppendAllText(writerFile, this.textBlock1.Text);
}
首先我不得不说我是 c# 编程的新手。我的问题是,我有一个 window,里面有一个文本框和一个按钮,我想要完成的是将一些文本写入文本框,然后单击按钮,我想将该文本保存到ukony.txt 文件。但是使用下面的代码,点击按钮后没有任何反应。
public partial class Window1 : Window {
public Window1() {
InitializeComponent();
}
private void button_Click(object sender, RoutedEventArgs e)
{
string writerfile = @"D:\Games\ukony.txt";
Window1 a = new Window1();
using (StreamWriter writer = new StreamWriter(writerfile))
{
writer.WriteLine(a.textBlock.Text);
writer.WriteLine(a.textBlock1.Text);
}
}
}
不要使用 window 的新实例。使用当前的。要访问当前实例的文本块,您应该使用 this
关键字:
private void button_Click(object sender, RoutedEventArgs e)
{
string writerfile = @"D:\Games\ukony.txt";
using (StreamWriter writer = new StreamWriter(writerfile))
{
writer.WriteLine(this.textBlock.Text);
writer.WriteLine(this.textBlock1.Text);
}
}
问题详情:这一行:
Window1 a = new Window1();
您创建了一个带有空控件的新 Window。这些与您在屏幕上看到的以及您可能输入过内容的内容不同。
不工作的原因是 Window1
class 的新创建实例。这与您实际看到的 UI 完全不同。所以不需要在那个地方创建实例,直接使用textBox名称访问text
private void button_Click(object sender, RoutedEventArgs e)
{
string writerfile = @"D:\Games\ukony.txt";
using (StreamWriter writer = new StreamWriter(writerfile))
{
writer.WriteLine(textBlock.Text);
writer.WriteLine(textBlock1.Text);
}
}
为什么要使用 StreamWriter
?我认为这样更容易:
private void button_Click(object sender, RoutedEventArgs e)
{
string writerfile = @"D:\Games\ukony.txt";
System.IO.File.WriteAllText(writerFile, this.textBlock.Text);
System.IO.File.AppendAllText(writerFile, this.textBlock1.Text);
}