保存文件对话框

时间:2016-03-13 05:30:46

标签: c#

无法获取保存文件对话框以使用我的程序。我正在使用visual studio 2012.保存对话框打开,我可以输入一个文件名,但它实际上不会保存。

SELECT AVG(score) as average 
FROM grade
WHERE score IS NOT NULL

2 个答案:

答案 0 :(得分:1)

我将使用伪代码。你正在展示的代码是说你正在创建一个名为organisms.txt的文件。嗯,你并没有真正使用SaveDialog。

您编码的方式是,无论用户选择什么 - 无论是否保存 - 程序最终都会写入organisms.txt。

您需要更改以下内容;

if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
     MessageBox.Show("You clicked the save button");
}

只需剪切并粘贴循环和流。使用organisms.txt更改saveFileDialof1.FileName,以便将其保存在“保存对话框”指向的任何位置。虽然我真的不太了解StreamWriter,但是,请帮我调整代码。

if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
     MessageBox.Show("You clicked the save button");

     //create a file and get a streamwriter object
     outputfile = File.CreateText(saveFileDialog1.FileName);

     //write the data to the file
     for (int b = 0; b < listBox1.Items.Count; b++)
     {
           outputfile.WriteLine(listBox1.Items[b].ToString());
     }
}

答案 1 :(得分:0)

StreamWriter实现了IDisposable 正确使用将是:

if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
    MessageBox.Show("You clicked the save button");
    using (StreamWriter outputfile = File.CreateText("organisms.txt")) 
    {
        for (int b = 0; b < listBox1.Items.Count; b++)
        {
            outputfile.WriteLine(listBox1.Items[b].ToString());
        }
    }
}
else
{
    MessageBox.Show("You hit the cancel button");
}

如果仍然不起作用:
1)看看是否有任何例外被抛出 2)请记住,您没有使用对话框中的文件,而是'organisms.txt',它将保存在应用程序的工作目录中