var dialog = new SavefileDialog())dialog.AddExtension = true;dialog.DefaultExt = "foo";dialog.Filter = "Foo document (*.foo)|*.foo";if (dialog.ShowDialog() == DialogResult.OK){ ...}
如果用户在文件test.xml存在的文件夹中键入文本测试,该对话框将建议名称为test.xml(而我真的只想在列表中看到* .foo).更糟糕的是:如果用户选择test.xml,那么我确实会将test.xml作为输出文件名.
如何确保SavefileDialog真的只允许用户选择* .foo文件?或至少,当用户单击“保存”时,它会替换/添加扩展名?
建议的解决方案(实现fileOk事件处理程序)仅执行部分作业,因为如果文件名有错误的扩展名,我真的想禁用保存按钮.
为了保留对话框并更新fileOk处理程序文本框中显示的文件名,以反映具有正确扩展名的新文件名,请参阅following related question.
解决方法 AFAIK没有可靠的方式强制执行给定的文件扩展名.无论如何,验证正确的扩展是一个很好的做法,一旦对话框关闭,并通知用户,如果扩展名不匹配,他选择了一个无效的文件. 总结以上是内存溢出为你收集整理的c# – System.Windows.Forms.SaveFileDialog不执行默认扩展全部内容,希望文章能够帮你解决c# – System.Windows.Forms.SaveFileDialog不执行默认扩展所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)