考虑:
private void cmdOpenPDF_DoubleClick(object sender, EventArgs e)
{
string path1 = @"Z:\Google Docs\Documents";
string path2 = docIDTextBox.Text;
string path3 = ".pdf";
Path.Combine(path1,path2,path3);
System.Diagnostics.Process.Start(Path.Combine(path1, path2, path3));
}
我正在尝试使用上面的代码打开Z:驱动器上的PDF文件,这是一个虚拟驱动器。
当我尝试这个时,我得到以下内容:
win32异常未得到处理:
系统无法找到该文件 指定的
我不知道这意味着什么或我的代码有什么问题= /。路径有效,我可以在不使用文本框的情况下打开它。
答案 0 :(得分:15)
Path.Combine
用于将多个文件夹合并为一条路径
因此,您的代码会创建路径Z:\Google Docs\Documents\something\.pdf
,这不是您想要的。
您应该通过调用Path.ChangeExtension
(如果要从文本框中删除任何扩展名)或简单地连接字符串来添加扩展名。
答案 1 :(得分:6)
如果path2
只是没有扩展名的文件名,您可以使用:
Path.Combine(path1, path2 + path3)
答案 2 :(得分:0)
检查 Path.Combine - Be aware of a Slash in the Second Parameter 并正确初始化您的三个变量。 Path.Combine仍然适合你,虽然它不是你最好的选择。
答案 3 :(得分:-1)
尝试以下操作:
Path.Combine(path1, "\\", path2, path3);