c# - 打开文件所在位置

标签 c# winforms file

在 Windows 资源管理器中搜索文件并从搜索结果中右键单击文件时;有一个选项:“打开文件位置”。我想在我的 C# WinForm 中实现相同的功能。我这样做了:

if (File.Exists(filePath)
{
    openFileDialog1.InitialDirectory = new FileInfo(filePath).DirectoryName;
    openFileDialog1.ShowDialog();
}

有没有更好的方法呢?

最佳答案

如果 openFileDialog_ViewOpenFileDialog然后你只会得到一个对话框提示用户打开一个文件。我假设您实际上想在资源管理器中打开该位置。

你会这样做:

if (File.Exists(filePath))
{
    Process.Start("explorer.exe", filePath);
}

选择一个文件explorer.exe需要一个/select参数,如下所示:

explorer.exe /select, <filelist>

我从 SO 帖子中得到了这个:Opening a folder in explorer and selecting a file

所以你的代码是:

if (File.Exists(filePath))
{
    Process.Start("explorer.exe", "/select, " + filePath);
}

关于c# - 打开文件所在位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9646114/

相关文章:

c# - 如何从 DataTable 对象中知道行索引

C#:如何将 null 传递给需要 ref 的函数?

c# - 如何将列表计数绑定(bind)到标签

c# - 禁用某些单元格的工具提示

C# 从 DataGridView 插入 MySQL 数据后被截断

python - fileinput.hook_compressed 有时给我字符串,有时给我字节

c# - 转换日期时转换失败 - linq2sql ExecuteQuery

c# - 按实体查询(示例)

web-services - 如何发布可通过浏览器访问的 Web 服务生成的数据文件

c++ - ifstream 读取所有以开头的文件