Откройте расположение файла - PullRequest
12 голосов
/ 10 марта 2012

При поиске файла в проводнике Windows щелкните правой кнопкой мыши файл из результатов поиска;есть опция: «Открыть местоположение файла».Я хочу реализовать то же самое в моем C # WinForm.Я сделал это:

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

Есть ли лучший способ сделать это?

Ответы [ 2 ]

41 голосов
/ 10 марта 2012

Если openFileDialog_View является OpenFileDialog , тогда вы просто получите диалоговое окно, предлагающее пользователю открыть файл.Я предполагаю, что вы действительно хотите открыть местоположение в проводнике.

Вы бы сделали это:

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

К выберите afile explorer.exe принимает аргумент /select, подобный следующему:

explorer.exe /select, <filelist>

Я получил это из сообщения SO: Открытие папки в проводнике и выбор файла

Таким образом, ваш код будет:

if (File.Exists(filePath))
{
    Process.Start("explorer.exe", "/select, " + filePath);
}
6 голосов
/ 10 марта 2012

Вот как я это делаю в своем коде. Это откроет каталог файлов в проводнике и выберет указанный файл так, как это делает проводник Windows.

if (File.Exists(path))
{
    Process.Start(new ProcessStartInfo("explorer.exe", " /select, " + path);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...