在Windows资源管理器中搜索文件并从搜索结果中右键单击一个文件时,会出现一个选项:“打开文件位置”。我想在我的C# WinForm中实现相同的功能。我已经尝试了以下代码:
if (File.Exists(filePath)
{
openFileDialog1.InitialDirectory = new FileInfo(filePath).DirectoryName;
openFileDialog1.ShowDialog();
}
有没有更好的方法来做这件事?
openFileDialog_View
是一个 OpenFileDialog,那么你只会得到一个提示用户打开文件的对话框。我假设你实际上想要在资源管理器中打开该位置。if (File.Exists(filePath))
{
Process.Start("explorer.exe", filePath);
}
要 选择 一个文件,explorer.exe
需要使用 /select
参数,如下所示:
explorer.exe /select, <filelist>
我从 Stack Overflow 上获取了以下内容:在资源管理器中打开文件夹并选择文件
所以你的代码应该是:if (File.Exists(filePath))
{
Process.Start("explorer.exe", "/select, " + filePath);
}
以下是我在代码中的实现方式。这将会像Windows资源管理器一样打开文件目录,并选择指定的文件。
if (File.Exists(path))
{
Process.Start(new ProcessStartInfo("explorer.exe", " /select, " + path);
}
openFileDialog_View
是一个 OpenFileDialog,那么你只会得到一个提示用户打开文件的对话框。 - gideon