文本文件没有保存但没有错误(C#)

Dut*_*ner 2 c# io save writealltext

我现在一直在寻找许多网站上的答案,但所有工作答案仅适用于richTextbox,而我正在使用普通的文本框.我正在尝试将文本框的内容保存到选择的文件中,但由于某种原因文件没有保存,我不知道问题是什么.这是"保存"菜单项的代码:

private void saveToolStripMenuItem_Click(object sender, EventArgs e)
    {

        SaveFileDialog ofd = new SaveFileDialog();
        ofd.Title = "Save";
        ofd.Filter = "Txt Documents (.txt)|*.txt|All files (*.*)|*.*";
        if (ofd.ShowDialog() == DialogResult.OK)
        {
            try
            {
                //I don't know what to make of this, because clearly this doesn't work
                File.WriteAllText(@"./TestFile.txt", MainTextbox.Text);
            }
            catch (Exception ex)
            {
                MainTextbox.Text += ex;
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

没有错误.

Tim*_* S. 5

您应该保存到您所选择的文件中SaveFileDialog,如下所示OpenFile().这个例子对我有用:

SaveFileDialog ofd = new SaveFileDialog();
ofd.Title = "Save";
ofd.Filter = "Txt Documents (.txt)|*.txt|All files (*.*)|*.*";
if (ofd.ShowDialog() == DialogResult.OK)
{
    using (var fileStream = ofd.OpenFile())
    using (var sw = new StreamWriter(fileStream))
        sw.WriteLine("Some text");
}
Run Code Online (Sandbox Code Playgroud)

在您的代码中,您让用户选择要保存的文件,然后忽略该文件并将其写入硬编码位置.您的应用可能没有权限执行此操作,但它应该具有写入用户所选位置的权限.