在保存对话框中强制添加扩展名。

5

有没有一种简单的方法从过滤器中提取扩展名,以便始终添加扩展名(例如Word和Notepad)。即使设置了AddExtension = true,带有句点的文件名也不会得到扩展名,例如my.file不会保存为my.file.txt。

更新 过滤器索引如下:

Text (Tab delimited) (*.txt)|*.txt|Unicode text (*.txt)|*.txt|
CSV (Comma delimited) (*.csv)|*.csv|Rich Text Format (*.rtf)|*.rtf|
Web Page (*.htm;*.html)|*.htm;*.html

实际上,有一些含糊的扩展名(尽管第一个是有意为之的)。例如,当FilterIndex为1时,意图是文件末尾有.txt,而不管它实际上是什么(当然,如果已经是txt,则不需要更改)。


1
那取决于过滤器 - 如果它是多重过滤器,那将是不明确的...请提供更多信息... - Yahia
1
你可以随时使用 http://msdn.microsoft.com/de-de/library/beth2052.aspx 来查找扩展/添加/更改/删除扩展等。 - Yahia
2个回答

6

检查您的扩展名所返回的文件名。如果最后几个字符(例如,对于一个点加上三个字母的扩展名来说是4个字符)不匹配,则将扩展名附加到给定的文件名中。


我是否必须对我的筛选器进行正则表达式操作才能获得筛选器扩展名?还是有捷径可以使用? - tofutim

-1
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "MY Project|*.mypi";

1
这怎么回答问题呢?他已经正确设置了过滤器索引。 - Cody Gray
这个回答并没有解答问题,请进一步提供相关背景信息。 - dmportella

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接