C#中SaveFileDialog的多点扩展?

C#中SaveFileDialog的多点扩展?,c#,savefiledialog,C#,Savefiledialog,基本上,我试图设置SaveFileDialog的过滤器,比如说。。。“Xml文档(.asdf.Xml)|.asdf.Xml”。拾取文件时,它会正确过滤文件,但在实际保存文件时,它只保存为“.xml”。这是否得到支持 我也找不到合适的解决方法,因为大多数解决方法似乎都需要在用户不知道的情况下手动更改文件名。SupportMultiDottedExtensions=true 你试过这个吗 SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter =

基本上,我试图设置SaveFileDialog的过滤器,比如说。。。“Xml文档(.asdf.Xml)|.asdf.Xml”。拾取文件时,它会正确过滤文件,但在实际保存文件时,它只保存为“.xml”。这是否得到支持


我也找不到合适的解决方法,因为大多数解决方法似乎都需要在用户不知道的情况下手动更改文件名。

SupportMultiDottedExtensions=true

你试过这个吗

SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "XML File (*.asdf.xml)|*.asdf.xml|All Files|";
sfd.SupportMultiDottedExtensions = true;

我尝试使用SaveFileDialog创建一个快速赢表单,并且我能够以多点扩展名保存一个文件。我正在使用VS2010和C。下面是我的按钮单击事件处理程序代码:

private void button1_Click(object sender, EventArgs e)
{
    saveFileDialog1.Filter = "Xml Document (.asdf.xml)|*.asdf.xml";
    saveFileDialog1.ShowDialog();

    System.IO.FileStream fs = saveFileDialog1.OpenFile() as System.IO.FileStream;

    fs.Write(new byte[] { }, 0, 0);
    fs.Close();
}
无论我的过滤器使用的是
*.asdf.xml
还是
.asdf.xml
,它都能工作

你的代码有什么不同?如果相同,是创建新文件还是覆盖现有文件?我不知道没有看到你的代码还有什么不同

编辑/更新:刚刚看到sgrassie关于设置SupportMultiDottedExtension的回答。我没有设置它,所以在C#/.NET4中可能默认为true