在使用SaveFileDialog时发现如果在保存窗口文件名输入框中输入以点号分割的字符串时,无论怎么设置SaveFileDialog.AddExtension属性都不会增加扩展名。比如”123.456”,”rt.yui.eee”,那保存的文件扩展名变成了”.456”和”.eee”。相对于这个情况,我使用Word和记事本进行了测试,新生成的文件会自动加上扩展名变成123.456.txt和123.456.doc。 下面是测试代码:

SaveFileDialog saveRegFile = new SaveFileDialog();
saveRegFile.AddExtension = true;
//saveRegFile.InitialDirectory = Application.StartupPath;
saveRegFile.Filter = "reg files (*.reg)|*.reg|txt files (*.txt)|*.txt";
saveRegFile.FilterIndex = 0;
saveRegFile.RestoreDirectory = true;
saveRegFile.Title = "保存文件"; 
if (saveRegFile.ShowDialog() == DialogResult.OK)
{ 
    string fileName = saveRegFile.FileName; 
    using (File.Open(fileName, FileMode.Create)) 
    { 
    }
}

在VS2003和VS2005下测试得到同样的结果。解决的办法就比较简单了,判断扩展名是否正确然后修正字符串。

相关文章:

  • 2022-03-05
  • 2021-12-03
  • 2021-06-20
  • 2021-11-21
  • 2021-06-24
  • 2021-05-16
  • 2021-12-24
  • 2021-07-25
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-26
  • 2022-02-14
  • 2021-10-03
  • 2022-12-23
  • 2021-08-28
相关资源
相似解决方案