web-dev-qa-db-ja.com

Explorerのようなフォルダーブラウザーコントロールを作成する方法

VS2008でC#とWinFormsを使用して、Windowsエクスプローラーの左ペインのように見え、機能するファイルブラウザーコントロールを作成します。驚いたことに、このようなコントロールはデフォルトで.NETに同梱されていません。

理想的には、その内容がエクスプローラーとまったく同じであることを望みます。たとえば、Windows 7では、お気に入りとライブラリの擬似フォルダーが表示されます。もちろん、できればWindowsの各バージョン用に特別にコーディングしたくありません。

私は周りをブラウズしましたが、そのようなコントロールのいくつかの例がありますが、それらはすべて手巻きであるため、Explorerの場合と100%動作しません。

代わりにエクスプローラーコントロールを単純に再利用できる方法はありますか?または、そうでない場合、表示されるアイテムのツリーにアクセスしますか?

31
Thomas

Microsoftは C#でWindowsエクスプローラースタイルのインターフェイスを作成するためのチュートリアル を提供しています。

Code Project およびその他のサイトにもいくつかの例があります。即時の例は Explorer TreeMy ExplorerFile Browser および Advanced File Explorer ですが、他にもあります。 Explorer Tree は、私が撮った短い目線で最高に見えるようです。

Googleでwindows Explorer tree view C#という検索用語を使用して、これらのリンクを見つけました。

31
Jeff Yates

そのようなコントロールを実装するように思えるほど簡単ではありません。エクスプローラーは、ファイルシステムアイテムではなくシェルアイテムで動作します(例:コントロールパネル、プリンターフォルダーなど)。それを実装する必要がある場合は、Windowsシェル機能を http://msdn.Microsoft.com/en-us/library/bb776426(VS.85).aspx で確認することをお勧めします。

1
munissor

Shell MegaPack コントロールセットを見てください。フォルダー/ファイルブラウジングのようなWindowsエクスプローラーに、コンテキストメニュー、名前の変更、ドラッグドロップ、アイコン、オーバーレイアイコン、サムネイルなどのほとんどの機能を提供します。

0
logicnp