基本上我正在尝试设置SaveFileDialog的过滤器,比如说...“Xml Document( .asdf.xml)| .asdf.xml”。它会在选择文件时正确过滤文件,但实际保存文件时它只保存为“.xml”。这甚至支持吗?
我也想不出合适的解决方法,因为大多数解决方法似乎都需要手动更改文件名而不需要用户知道。
答案 0 :(得分:4)
SupportMultiDottedExtensions = true;
答案 1 :(得分:1)
你试过这个吗?
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "XML File (*.asdf.xml)|*.asdf.xml|All Files|";
sfd.SupportMultiDottedExtensions = true;
答案 2 :(得分:1)
我尝试使用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#/ .NET 4中默认为true。
HTH!