VS2008でC#とWinFormsを使用して、Windowsエクスプローラーの左ペインのように見え、機能するファイルブラウザーコントロールを作成します。驚いたことに、このようなコントロールはデフォルトで.NETに同梱されていません。
理想的には、その内容がエクスプローラーとまったく同じであることを望みます。たとえば、Windows 7では、お気に入りとライブラリの擬似フォルダーが表示されます。もちろん、できればWindowsの各バージョン用に特別にコーディングしたくありません。
私は周りをブラウズしましたが、そのようなコントロールのいくつかの例がありますが、それらはすべて手巻きであるため、Explorerの場合と100%動作しません。
代わりにエクスプローラーコントロールを単純に再利用できる方法はありますか?または、そうでない場合、表示されるアイテムのツリーにアクセスしますか?
Microsoftは C#でWindowsエクスプローラースタイルのインターフェイスを作成するためのチュートリアル を提供しています。
Code Project およびその他のサイトにもいくつかの例があります。即時の例は Explorer Tree 、 My Explorer 、 File Browser および Advanced File Explorer ですが、他にもあります。 Explorer Tree は、私が撮った短い目線で最高に見えるようです。
Googleでwindows Explorer tree view C#
という検索用語を使用して、これらのリンクを見つけました。
そのようなコントロールを実装するように思えるほど簡単ではありません。エクスプローラーは、ファイルシステムアイテムではなくシェルアイテムで動作します(例:コントロールパネル、プリンターフォルダーなど)。それを実装する必要がある場合は、Windowsシェル機能を http://msdn.Microsoft.com/en-us/library/bb776426(VS.85).aspx で確認することをお勧めします。
Shell MegaPack コントロールセットを見てください。フォルダー/ファイルブラウジングのようなWindowsエクスプローラーに、コンテキストメニュー、名前の変更、ドラッグドロップ、アイコン、オーバーレイアイコン、サムネイルなどのほとんどの機能を提供します。