ファイルは選ぶ事あるけど、フォルダを選ぶことは少ない。

ある日、仕事してると、仕事の同僚さんから聞かれた。

同僚さん:フォルダを選択するダイアログあるんですけど、これ、直接パス入力できないんですよね?

C#、というかWindows.Formsが提供するフォルダ選択ダイアログは、FolderBrowserDialogしかない。
[フォルダの参照]ダイアログを使用するには?
起動時にどこのフォルダを表示するか?とか、新しいフォルダを作成するボタンを表示するかどうか?くらいは設定できる。でも、それだけ。何が面倒くさいって、ファイルサーバー上のファイルを探す時が非常に面倒くさい。そして、なんといかとても"ちゃちい"のだ。
これは1.1の頃から変わらず、4、4.5になった今でもこれしかないと思っていたし、実際、。探しても見つからなかった。
ただ、この同僚さんと話をしている時に気づいた。

ん?いや待てよ?そういえば、Visual Studioでプロジェクトを作る時にフォルダを選択するけど、その時のダイアログはこれじゃないぞ?

と。もっとこう、なんというか、色々できたというか。このダイアログ使えたら万事解決ではないの?と。
で、色々調べてみた。同じことを思った人は少なからずいると思って。
HOW - Detailed Folder Browser - VS 2010
要は、Windows Vista以降で使用できるIFileOpenDialogインターフェースを実装すれば良いらしい。
手っ取り早く使いたいなら、Windows 7 API Code Packを使えば、"それ"が使えるようだ。NuGetでインストールできるらしいし。
(で、どうなったのかというと)
ただね、残念ながら、仕事ではほとんど需要ないんだよね…。
ファイル選択ダイアログは、需要が高く、まあ別に不便はないI/Fで使える。しかし、フォルダ選択ダイアログを出す必要のあるアプリって、あんまり作ったことがない。所定のフォルダにファイルを出力する事はあっても、フォルダをユーザーさんに選んでもらうケースってすくないんだよなぁ。
結局、テキストボックスを設け、そこに設定されたパスを初期値として与えて、従来のFolderBrowserDialogを使う事にしたようだ。
まあ、時間が空いた時にでも、ソースコードを眺めてみようと思いつつ、この件はクローズされた。
スポンサーサイト
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: C# | コメント: 0 | トラックバック: 0


この記事へのコメント

コメントの投稿

非公開コメント


サイドバー背後固定表示サンプル

当ブログに書かれたソースコードは流用自由です。

バグ、スペルミス等はありうる事です。

ご利用の際は自己責任でお願いしますm(_ _)m