我正在尝试打开用户可以设置的文件。换句话说,它永远不会是一个设置路径或文件。因此,当用户选择了要打开的文件时,此按钮将打开它。我已将l1和p1声明为公共字符串。
public void button4_Click(object sender, EventArgs e)
{
DialogResult result = openFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
l1 = Path.GetFileName(openFileDialog1.FileName);
p1 = System.IO.Path.GetDirectoryName(openFileDialog1.FileName);
}
public void button2_Click(object sender, EventArgs e)
{
//p1 = directory path for example "C:\\documents and settings\documents"
//l1 = filename
Process.Start(p1+l1);
}
所以只是回顾我想要使用目录路径和文件名打开文件。这可能吗?我可以在那里有p1,它将打开一个浏览器向我显示该目录。谢谢你的期待。
答案 0 :(得分:3)
是的,它会起作用,但我建议您更新代码:
var path = Path.Combine(p1, l1);
Process.Start(path);
答案 1 :(得分:2)
您不应该使用字符串连接来组合目录和文件名。在您的情况下,结果字符串将如下所示:
C:\documents and settings\documentsfilename
^^
this is wrong
而是使用Path.Combine
。
string path = Path.Combine(p1, l1);
Process.Start(path);
答案 2 :(得分:1)
你为什么不这样做: -
public void button4_Click(object sender, EventArgs e)
{
string fileNameWithPath;
DialogResult result = openFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
fileNameWithPath = openFileDialog1.FileName;
}
}
public void button2_Click(object sender, EventArgs e)
{
Process.Start(fileNameWithPath);
}