SaveFileDialog过滤器显示.xlsx链接

本文关键字:链接 xlsx 显示 过滤器 SaveFileDialog | 更新日期: 2023-09-27 18:13:06

我想打开一个SaveFileDialog和过滤器,例如。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文件中的链接!还有人注意到这个问题并找到了解决办法吗?

问题是,我想使用这个文件名之后。当用户现在点击链接时,它改变了文件名

SaveFileDialog过滤器显示.xlsx链接

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

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中显示的文件。