SaveFileDialog过滤器显示.xlsx链接?

时间:2014-07-16 09:36:12

标签: c# excel filter xlsx savefiledialog

我想打开一个SaveFileDialog和Filter,例如.tgz文件。这是我的代码:

string dummyFileName = "file.tgz";
string savePath = "fail";
SaveFileDialog sf = new SaveFileDialog();
//Feed dummy name to the save dialog
sf.FileName = dummyFileName;
sf.Filter = ".tar.gz|*.tgz";
if (sf.ShowDialog() == DialogResult.OK)
{
    //Now here's our save folder
    savePath = Path.GetFullPath(sf.FileName);
}
// then i check if savePath = "fail", in case the user abborted it, and return.

过滤器有效。我也将其更改为.txt或.exe但我注意到了:我在桌面上显示了一些指向.xlsx文件的链接。实际的文件不显示,只显示Excel文件中的链接!有没有人注意到并得到了解决方法?

问题是,我想在之后使用此文件名。当用户现在点击链接时,它会更改文件名。

1 个答案:

答案 0 :(得分:-1)

如果要过滤对话框中显示的内容而不是过滤保存文件的扩展名,请在DefaultExt上设置Dialog属性:

string dummy = "file.tgz";
string path = "";
SaveFileDialog sf = new SaveFileDialog();
sf.FileName = dummy;
sf.DefaultExt = ".tgz"; // <== This one.
sf.Filter = "gzipped tar files (*.tgz)|*.tgz";
if (sf.ShowDialog() == true)
{
    path = sf.FileName;
}

这将过滤Dialog

中显示的文件