如何使用streamwriter将TextBox文本保存到文本文件

时间:2017-06-06 13:14:11

标签: c# streamwriter

Firstoff我不得不说我是c#编程的新手。我的问题是,我有一个带有文本框和按钮的窗口,我想要完成的是将一些文本写入文本框,然后点击按钮我想将该文本保存到ukony中。 txt文件。但是使用下面的代码,点击按钮后没有任何反应。

func collectionView(_ collectionView: UICollectionView,
                        layout collectionViewLayout: UICollectionViewLayout,
                        sizeForItemAt indexPath: IndexPath) -> CGSize {


        let size: CGSize = keywordArray[indexPath.row].size(attributes: [NSFontAttributeName: UIFont.systemFont(ofSize: 14.0)])
        return CGSize(width: size.width + 45.0, height: keywordsCollectionView.bounds.size.height)
    }

3 个答案:

答案 0 :(得分:0)

不要使用窗口的新实例。使用当前的。要访问当前实例的文本块,您应该使用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();

您创建一个带有空控件的新窗口。这些与您在屏幕上看到的并且可能在其中键入的内容不同。

答案 1 :(得分:0)

不工作的原因是新创建的Window1类实例。这与您实际看到的UI完全不同。因此,您无需在该位置创建实例,直接使用textBox名称来访问文本

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);
    }
}

答案 2 :(得分:0)

为什么要使用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);
}