Windowsエクスプローラーでファイルを検索し、検索結果からファイルを右クリックする場合。オプションがあります:「ファイルの場所を開く」。同じことをC#WinFormに実装したいと思います。これは私がしました:
if (File.Exists(filePath)
{
openFileDialog1.InitialDirectory = new FileInfo(filePath).DirectoryName;
openFileDialog1.ShowDialog();
}
それを行うためのより良い方法はありますか?
openFileDialog_View
が OpenFileDialog の場合、ユーザーにファイルを開くように求めるダイアログが表示されます。 Explorerで実際に場所をopenしたいとします。
あなたはこれをするでしょう:
if (File.Exists(filePath))
{
Process.Start("Explorer.exe", filePath);
}
selectに対して、ファイルExplorer.exe
は次のような/select
引数を取ります。
Explorer.exe /select, <filelist>
これはSO投稿: エクスプローラーでフォルダーを開いてファイルを選択する
したがって、コードは次のようになります。
if (File.Exists(filePath))
{
Process.Start("Explorer.exe", "/select, " + filePath);
}
これが私のコードでのやり方です。これにより、エクスプローラーでファイルディレクトリが開き、Windowsエクスプローラーと同じように指定されたファイルが選択されます。
if (File.Exists(path))
{
Process.Start(new ProcessStartInfo("Explorer.exe", " /select, " + path);
}