C# 保存文件对话框不会创建文件,也不会关闭



我首先要注意的是,我是C#的完全初学者;在实践中学习">

整个项目是一个媒体播放器,我正在从我一直在看的几个YouTube视频中创建和增强它。我现在想了解SaveFileDialog以及如何将ListBox中的项目保存到xml文件中。

然而,在我到达那里之前,我遇到了一个问题,那就是让SaveFileDialog保存任何内容,然后关闭。

这是我正在使用的代码:

public Form1()
{
InitializeComponent();
}

private void btn_save_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "XML-File | *.xml";
saveFileDialog1.Title = "Save Playlist";
saveFileDialog1.ShowDialog();
if (saveFileDialog1.ShowDialog() == DialogResult.OK) ;
}

现在,当我点击";保存";按钮(btn_save(,"保存"对话框将打开,它将默认为一个xml文件,但单击"保存"后不会保存任何文件,然后单击"保存》后,对话框将一次又一次地打开,直到我选择"取消"。

如果我尝试添加SaveFileDialog.Close();我得到一个错误说";SaveFileDialog"没有包含"关闭"的定义,但我想我必须设置一些,在点击Save后告诉对话框关闭。

在这里对我帮助最大的是";"修复";然后在代码中添加一些注释,解释每一行发生的事情,以便我执行更相关的搜索并进一步阅读。

也就是说,如果能提供任何帮助,我们将不胜感激。如果我需要在这个例子中包含额外的代码,请告诉我。

这里有我所期望的写"你好世界";到一个文本文件看起来像:

private void btn_save_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "Text file | *.txt";
saveFileDialog1.Title = "Save Playlist";

if (saveFileDialog1.ShowDialog() != DialogResult.OK) 
return;
File.WriteAllText(saveFileDialog1.FileName, "hello world");
}

您可以针对XML等对其进行调整,但关键概念是:

  • ShowDialog()显示对话框-当对话框打开时,您的代码将暂停,当对话框关闭时继续
  • 检查结果,如果不正常(即用户单击"取消"(,则return不执行任何操作
  • 否则,做点什么(比如写文件(

您实际上需要使用从SaveFileDialog组件获得的信息来保存文件。

也许这对你有帮助:

public Form1()
{
InitializeComponent();
}
private void btn_save_Click(object sender, EventArgs e)
{
Stream myStream ;
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "XML-File | *.xml";
saveFileDialog1.Title = "Save Playlist";
saveFileDialog1.ShowDialog();
if (saveFileDialog1.ShowDialog() == DialogResult.OK) 
{
if((myStream = saveFileDialog1.OpenFile()) != null)
{
// Code to write the stream goes here.
myStream.Close();
}
} //end if ShowDialog
} //end Click Button

最新更新