我想打开一个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文件中的链接!有没有人注意到并得到了解决方法?
问题是,我想在之后使用此文件名。当用户现在点击链接时,它会更改文件名。
答案 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
。