C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■90046 / )  Re[2]: FolderBrowserDialogでネットワークのみ選択
□投稿者/ とっちゃん (572回)-(2019/02/01(Fri) 11:02:45)
No90042 (yu さん) に返信
> 開発環境:Visual Studio 2012 使用言語:C#
>
> FolderBrowserDialogでネットワークのみを選択できるようにしたいです。
>
> デフォルトのパス指定だと初期値をselectedPathで設定できるかと思うのですが、
> ネットワークのみの選択を、パスもしくはプロパティにて指定することは可能でしょうか。
>

var dlg = new FolderBrowserDialog();
dlg.RootFolder = Environment.SpecialFolder.MyComputer;
dlg.ShowDialog();

こんな感じで設定すると、Windows 10 なら PC に限定してリストアップできるのですが、
RootFolder の選択肢の SpecialFolder に "ネットワーク" を意味する識別子を用意していないので
.NET Framework の FolderBrowseDialog では指定ができません。

一応。。。大元のAPIの SHBrowseForFolder を直接利用すれば指定できますが、
あの構造体宣言とかすごく面倒なのであまりお勧めはできません。

それと、ネットワークドライブを割り当てている場合見れないので
実際のところは選択後に意図したフォルダを選択されたか?とチェックするほうがいいと思います。


あとは、IOpenFileDialog を使ってフォルダ選択するというのもあります。
こっちも、ネットワークドライブとかあると絞り込めないので結果的には変わりませんが。。。

返信 編集キー/


管理者用

- Child Tree -