“保存”对话框检索多个扩展名


如何

避免从保存对话框中检索到的文件名中的多个扩展名?
我仅将对话框过滤为富文本文件和.doc文件。

当我更改带有文件名的文本框下方的组合框中的选择时,扩展名将添加到文件名中,而不是更改现有扩展名。

SaveFileDialog dialog= new SaveFileDialog();
dialog.Title = "Please select the directory in which the document will be created.";  
// set a default file name
dialog.FileName = my_File_Name;  
// set filters
dialog.Filter = "RTF Files (*.rtf)|*.rtf | Wordfile (*.doc)|*.doc | Text Files (*.txt)|*.txt";
if (dialog.ShowDialog() == DialogResult.OK)
{
    //selected folder path
    string placeToSaveDocument = Path.GetFullPath(dialog.FileName);
}

这就是结果:

我的文件名.rtf.doc.rtf.txt

问题:您的过滤器字符串不正确,因为它在扩展字符串 *.rtf*.doc 之后有空格

解决方案 :您需要消除扩展字符串后面的空格。删除*.rtf*.doc后的空格

试试这个:

dialog.Filter = "RTF Files (*.rtf)|*.rtf|Wordfile (*.doc)|*.doc|Text Files (*.txt)|*.txt";

最新更新