1

Windows はいくつかの場所で、フォルダーの参照と選択に最新のダイアログを使用しているようです (このスクリーンショットをオンラインで見つけましたhttp://media.wiley.com/Lux/97/145397.image1.jpg )。そのダイアログにアクセスしてプログラムで使用する方法があれば。

もちろん、私は について知ってSystem.Windows.Forms.FolderBrowserDialogいますが、それはまだ実際には使用されていない古い TreeView 風の UI を使用しています (正当な理由で、私は恐れています)。

これらの種類の質問のいくつかを見てきました (たとえば、フォルダーを選択できる OpenFileDialog? )、それらは時代遅れであるか、サードパーティのダイアログを参照しています (可能であれば避けたい)、またはその両方です。

何か足りないだけですか?この種のものが他のライブラリや API/SDK などに隠されていることを想像できます。Microsoft が完全にリリースせずに Windows 全体でこれを徹底的に使用しているように見えることに驚いています。特に、少なくとも Windows 7 以降は見てきました。

4

1 に答える 1

3

それが OpenFileDialog の Vista バージョンです。基礎となるネイティブ インターフェイスは COM ベースであり、IFileDialog::SetOpions() メソッドは FOS_PICKFOLDERS オプションで呼び出されました。

この機能は .NET では直接公開されていません。Vista インターフェイスをサポートしていない古いオペレーティング システムをサポートしなければならないという負担があります。特にXP。XP のサポートをやめる余裕がある場合、または古いオペレーティング システム用に FolderBrowserDialog を引き続き使用するフォールバック コードを作成する意思がある場合は、Windows API コード パック ライブラリで IFileOpenDialog と相互運用するコードを見つけることができます。

于 2013-02-11T14:34:41.583 に答える