Visual C# - 将文本框的内容写入.txt文件

mut*_*y91 10 c# textbox

我正在尝试使用Visual C#将文本框的内容保存到文本文件中.我使用以下代码:

private void savelog_Click(object sender, EventArgs e)
    {
        if (folderBrowserDialog3save.ShowDialog() == DialogResult.OK)
        {
            // create a writer and open the file
            TextWriter tw = new StreamWriter(folderBrowserDialog3save.SelectedPath + "logfile1.txt");
            // write a line of text to the file
            tw.WriteLine(logfiletextbox);
            // close the stream
            tw.Close();
            MessageBox.Show("Saved to " + folderBrowserDialog3save.SelectedPath + "\\logfile.txt", "Saved Log File", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
    }
Run Code Online (Sandbox Code Playgroud)

但我只在文本文件中获得以下文本行:

System.Windows.Forms.TextBox, Text: 
Run Code Online (Sandbox Code Playgroud)

接下来只是文本框中实际内容的一小部分,以"..."结尾.为什么不写文本框的全部内容?

Ed *_*ple 23

在这种情况下,使用TextWriter并不是必需的.

File.WriteAllText(filename, logfiletextbox.Text) 
Run Code Online (Sandbox Code Playgroud)

更简单.您需要将TextWriter用于需要长时间保持打开状态的文件.


And*_*rey 9

private void savelog_Click(object sender, EventArgs e)
    {
        if (folderBrowserDialog3save.ShowDialog() == DialogResult.OK)
        {
            // create a writer and open the file
            TextWriter tw = new StreamWriter(folderBrowserDialog3save.SelectedPath + "logfile1.txt");
            // write a line of text to the file
            tw.WriteLine(logfiletextbox.Text);
            // close the stream
            tw.Close();
            MessageBox.Show("Saved to " + folderBrowserDialog3save.SelectedPath + "\\logfile.txt", "Saved Log File", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
    }
Run Code Online (Sandbox Code Playgroud)

小解释:tw.WriteLine接受object所以它不关心你通过什么.在内部它调用.ToString.如果.ToString没有覆盖它只返回类型的名称..Text属于内容的财产TextBox


Bre*_*ett 7

我想你需要的是:

tw.WriteLine(logfiletextbox.Text);
Run Code Online (Sandbox Code Playgroud)

如果你不说'.Text'那就是你得到的

希望有所帮助!