web-dev-qa-db-ja.com

ファイルを開くダイアログを使用してフォルダを選択する方法

可能性のある複製:
フォルダを選択するためにOpenFileDIalogをどのように構成しますか?

私はC#を使用していますが、SelectFolderDialogがフォルダーを選択するのを完全に避けたいです。代わりに、フォルダーを選択するためだけにOpenFileDialogに近いものを使用します。

より視覚的な例として、次のような近いもの(正確ではないにしても)を探しています。 http://i44.tinypic.com/x38tx1.png

enter image description here

何か案は?

21
Demasterpl

Windows Vistaのフォルダ選択ダイアログは、あなたが望むものと非常によく似ています。残念ながら、.NETのFolderBrowserDialogには、古いWindows-XPのようなダイアログが表示されますが、これは避けたいものです。

このVistaスタイルのダイアログにアクセスするには、次のいずれかを実行できます。

  • サードパーティの.NETライブラリを使用します(例 Ookii.Dialogs )、
  • 関連するWindows API呼び出しを使用するか、
  • Windows APIコードパック を使用します。

    using Microsoft.WindowsAPICodePack.Dialogs;
    
    ...
    
    var dialog = new CommonOpenFileDialog(); 
    dialog.IsFolderPicker = true;
    CommonFileDialogResult result = dialog.ShowDialog();
    

    このダイアログは、Windows Vistaより前のオペレーティングシステムでは使用できないため、必ずCommonFileDialog.IsPlatformSupported 最初。

29
Heinzi