c# – SaveFileDialog抛出System.InvalidOperationException:’My File.xlsx’不是有效的文件名
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – SaveFileDialog抛出System.InvalidOperationException:’My File.xlsx’不是有效的文件名,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1294字,纯文字阅读大概需要2分钟。
内容图文
客户刚刚在我们的应用程序中遇到此错误,这在Microsoft.Win32.SaveFileDialog上调用ShowDialog时基本上就会发生.完整的堆栈跟踪如下:
System.InvalidOperationException: ‘My File.xlsx’ is not a valid file
name. at Microsoft.Win32.SaveFileDialog.RunFileDialog(OPENFILENAME_I
ofn) at Microsoft.Win32.FileDialog.RunLegacyDialog(IntPtr hwndOwner)
at Microsoft.Win32.FileDialog.RunDialog(IntPtr hwndOwner) at
Microsoft.Win32.CommonDialog.ShowDialog(Window owner) at (our code
here)
显示对话框的代码非常标准:
var dialog = new SaveFileDialog
{
Filter = "Excel files (.xlsx)|*.xlsx",
FileName = "My File.xlsx",
};
if (dialog.ShowDialog() == true)
{
result = dialog.FileName;
}
else
{
result = null;
}
我们的应用程序是在.NET 4.0框架上运行的WPF应用程序.代码在我的机器上以及在每个其他客户的机器上都能正常工作,但它会为这个特定客户抛出此错误.我尝试对此进行一些研究,但我没有发现可能导致它的任何有用的东西.文件名似乎完全有效.有任何想法吗?
解决方法:
看起来这种方法在Windows XP或更高版本的Windows上没有相同的行为.
客户正在运行Windows XP,并且正在使用包含/(“My / File.xlsx”)的文件名打开SaveFileDialog.这导致ShowDialog()在显示对话框之前抛出上述错误.但是,错误消息仅包含/(在此示例中为“File.xlsx”)之后的文件名部分.
在Windows 8上,使用包含/的文件名调用ShowDialog是没有问题的.它只会阻止您在不更改名称的情况下进行保存,因为带有/的名称无效.
内容总结
以上是互联网集市为您收集整理的c# – SaveFileDialog抛出System.InvalidOperationException:’My File.xlsx’不是有效的文件名全部内容,希望文章能够帮你解决c# – SaveFileDialog抛出System.InvalidOperationException:’My File.xlsx’不是有效的文件名所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。