-1

我已经可以打开保存文件对话框,但是当我运行程序并尝试保存它时,它可以打开,但文件不存在。这是为什么?这是代码:

_saved = false;

SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "System File (*.pos) | *.pos";
saveFileDialog1.Title = "Save File As";
saveFileDialog1.ShowDialog();

if (_saved)
{
    this.Text = "Database - " + saveFileDialog1.FileName + "";
    _filename = saveFileDialog1.FileName;
}   
else
{
    this.Text = this.Text;
}

谢谢你,我很感激你的帮助。

4

2 回答 2

2

FileSaveDialog 只为您提供选择文件的 UI,一旦用户选择了文件,您将获得 FileName,现在您有责任对 FileName 执行任何必要的操作,例如存储数据并保存它。

于 2013-11-13T07:26:53.140 回答
1

你应该自己实现保存动作,这里是一个例子。

if(sf.ShowDialog() == DialogResult.OK)
{
    using(var fs = new FileStream(sf.FileName,FileMode.Create))
    {
        // get bytes from text you want to save
        byte [] data =new UTF8Encoding().GetBytes(text); 
        fs.Write(data,0,data.Length);
        fs.Flush();
    }
}

sf 是saveFileDialog1

于 2013-11-13T07:34:28.993 回答