8

私の(C#)WinFormsプロジェクトのディレクトリの前にチェックボックスがあるフォルダ参照ダイアログを実装する最も簡単なソリューションを探しています。

バックアップ センターで、Vista でこの種のダイアログが表示されました。これは通常のフォルダー参照ダイアログと同じですが、すべてのフォルダーの前にチェックボックスがありました。フォルダをチェックすると、その中のすべてのフォルダとファイルもチェックされますが、後で個別に選択を解除できます。

プレハブ コントロールなどがない場合、次のいずれかを行う最も簡単な方法は次のとおりです。 - 通常のフォルダ参照ダイアログを操作して、チェックボックス機能を含めます。または - TreeView コントロールを操作して、パスにシェル アイコンを使用し (デスクトップ、マイ ミュージック、通常のフォルダ、ファイルなどの正しいシステムアイコン)、自分で作成できるようにしますか?

注: ダイアログ/コントロールにファイルフォルダーの両方を表示する必要があります。

ヒントやヒントをお寄せいただきありがとうございます。=)

4

3 に答える 3

4

ツリービューから始めます。(ただし、動的に子をフェッチするのは自分で行う必要があります)。

エクスプローラーの名前空間を気にせず(つまり、マイコンピューターの下にコントロールパネルがある場合、またはごみ箱付きのデスクトップ、ネットワークネイバーフッドなど)、ドライブ文字が付いたドライブ上のファイルのみが必要な場合は、ドライブの列挙から始めることができます。文字(System.IO.Directory.GetLogicalDrivesを使用)。

シェルアイコンを取得するには、ManagedWinapiライブラリ(http://mwinapi.sourceforge.net/)からExtendedFileInfo.GetIconForFilenameを呼び出します。これは、ファイルとフォルダーの両方で機能します。

于 2009-04-22T18:00:07.343 に答える
0

FolderBrowserDialogはチェックボックスをサポートしていません。フォルダとファイルの横にマルチステートチェックボックスを表示するFolderViewコントロールを見てください。

于 2009-07-10T04:29:58.977 に答える
0

このようなものを実装する最も簡単な方法は、CheckBoxes プロパティを true に設定した標準の TreeView コントロールを使用することです。各ノードの横に小さなフォルダー画像を追加したい場合は、画像を使用することもできます。

詳細については、この MSDN の記事を参照してください。

于 2009-04-22T17:48:45.187 に答える