2

基本上我正在尝试设置 SaveFileDialog 的过滤器,就像我们说的那样......“Xml Document ( .asdf.xml)| .asdf.xml”。它会在选择文件时正确过滤文件,但在实际保存文件时它只保存为“.xml”。这甚至被支持吗?

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

4

3 回答 3

4

SupportMultiDottedExtensions = true;

于 2010-08-03T13:34:42.703 回答
1

你试过这个吗?

SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "XML File (*.asdf.xml)|*.asdf.xml|All Files|";
sfd.SupportMultiDottedExtensions = true;
于 2010-08-03T13:35:23.577 回答
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。

于 2010-08-03T13:35:31.307 回答