程序开发 > C# > Winform > 正文

C# Winform 打开文件夹并选中文件和打开文件

亮术网 2020-08-12 本网原创

在 Winform 程序开发过程中,有时需要打开文件夹并选中指定文件,有时只需要打开某个指定文件。对于这些需求,C# 都提供了相应的实现方法,即用 Process.Start()方法。这个方法有两种实现方式,一种是先创建一个对象,然后再通过属性设置参数;另一种直接调用这个方法(一句代码实现);为便于大家使用,文章将列出这两种方法的具体实现代码。

 

一、C# Winform打开文件夹并选中指定文件

方法一:直接调用 Process.Start()方法

首先需要引用 using System.Diagnostics;,具体实现代码:

/// <summary>
  /// C# Winform打开文件夹(打开窗口)
  /// </summary>
  /// <param name="path">路径</param>

  public void OpenFolder(string path)
  {
    Process.Start("Explorer.exe", path);//路径中有中文,需要加双引号
  }

Explorer.exe 不区分大小写,也可以不写 .exe,即只写 explorer。

调用方法:OpenFolder( @"G:\xq\");

 

/// <summary>
  /// C# Winform打开文件夹并选中指定文件
  /// </summary>
  /// <param name="path">路径</param>
  /// <param name="fileName">文件名</param>

  public void OpenFolderSelectFile(string path, string fileName)
  {
    //路径和文件名中有中文,需要加双引号
    Process.Start("Explorer.exe", "/select," + path + fileName);
  }

调用方法:OpenFolderSelectFile( @"G:\xq\", "文本.txt");

 

方法二:新建一个 ProcessStartInfo 对象

/// <summary>
  /// C# Winform打开文件夹并选中指定文件
  /// </summary>
  /// <param name="pathFile">路径(含文件名)</param>

  public void OpenFolderSelectFiles(string pathFile)
  {
    ProcessStartInfo psi = new ProcessStartInfo("Explorer.exe");
    psi.Arguments = " /select," + pathFile;//设置参数
    Process.Start(psi);
  }

调用方法:

OpenFolderSelectFiles(@"E:\Txts\notepad.exe");//打开“我的文档”所在文件夹并选中它

OpenFolderSelectFiles(@"C:\Windows\notepad.exe");//打开 Windows 文件夹,并选中 notepad.exe

OpenFolderSelectFiles(@"G:\xq\文本.txt");//打开 xq 文件夹,并选中 文本.txt

 

 

二、Winform打开文件

C# 打开文件跟打开文件夹一样,具体代码如下:

using System.Diagnostics;

public void OpenFile(string filePath)
  {
    Process.Start("explorer.exe", filePath);
  }

调用方法:OpenFile(@"G:\xq\文本.txt");