c# - 进程从两个字符串开始

标签 c# winforms process.start

我正在尝试打开一个用户可以设置的文件。换句话说,它永远不会是设置的路径或文件。所以当用户选择了他们想要打开的文件时,下面的这个按钮将打开它。我已将 l1 和 p1 声明为公共(public)字符串。

    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,它会打开一个资源管理器,向我显示该目录。感谢您的关注。

最佳答案

是的,它会起作用,但我建议您改为更新您的代码:

var path = Path.Combine(p1, l1);
Process.Start(path);

关于c# - 进程从两个字符串开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9363453/

相关文章:

c# - 在解决方案中显示类名的 ComboBox 项

c# - System.reactive跨线程操作荒谬

c# - 使用 Process.Start 打开 pdf 文件

c# - 列出所有可用的 ProgId

c# - 如何使用 Linq 扩展方法语法编写此代码?

C# 组件事件?

c# - 问题语音识别c#

.net - 从后台线程结果更新 Winforms UI

c# - 当完整路径解析为 64 位目录时,无法从 32 位 C# 应用程序启动快捷方式 (lnk) 文件

c# - 如何使用 Process.Start 打开 word 文件(带空格的路径)?