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

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

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

Re[1]: FolderBrowserDialog以外のフォルダ選択方法


(過去ログ 100 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■60063 / inTopicNo.1)  FolderBrowserDialog以外のフォルダ選択方法
  
□投稿者/ タイガー (1回)-(2011/06/17(Fri) 21:42:58)

分類:[VB.NET/VB2005 以降] 

こんにちは。
VB2008を使っています。
ファイルの保存先にFolderBrowserDialogを使っていて感じるのが、以下の不満です。

・階層が深くなると、今どこを選択しているのか分かりにくい
 (現在選択しているフォルダのパスをダイアログ上に表示できればいいと思うが、方法を知らないだけ?)
 また、以下のスクロールにも関連しているが、フォルダのアイコンが小さいので、スクロールしながらだと
 現在選択されているフォルダのアイコン(開いたフォルダのアイコン)を探しにくい

・SelectedPathに初期値を設定しても、初期表示時にその場所をスクロール表示しない場合がある(する場合もある)
 (一応、初期設定したフォルダは開いている)

そういえば、VSで作成したプロジェクトを保存するときは、FolderBrowserDialogのようなダイアログではなくて、
SaveFileDialogのようなダイアログですが、これは標準ダイアログではないのでしょうか?
とりあえず、上述の不満がある程度解消され、対象フォルダの選択がしやすければいいと思っていますので、
アドバイスを頂けたらありがたいです。
どうぞよろしくお願いします。
引用返信 編集キー/
■60065 / inTopicNo.2)  Re[1]: FolderBrowserDialog以外のフォルダ選択方法
□投稿者/ 魔界の仮面弁士 (2226回)-(2011/06/17(Fri) 23:01:19)
No60063 (タイガー さん) に返信
> ファイルの保存先にFolderBrowserDialogを使っていて感じるのが、以下の不満です。
内部的には、SHBrowseForFolder API を呼び出していますので、
操作性もそれに準じることになるでしょう。


System.Windows.Forms.FolderBrowserDialog クラス以外だと、標準では
Microsoft.VisualBasic.Compatibility.VB6.DirListBox というクラスも
一応あります。これはコントロールなので、フォームに貼って使う必要がありますが、
> 階層が深くなると、今どこを選択しているのか分かりにくい
の問題は解決できるかも知れません。使い勝手が良いかどうかは別として。


>  (現在選択しているフォルダのパスをダイアログ上に表示できればいいと思うが、方法を知らないだけ?)

できないと思います。元になっている SHBrowseForFolder API では、
BIF_USENEWUI フラグを指定する事で現在のフォルダ名を表示させることが
できますが、ルートからのパスが示されているわけでは無いので、いずれにしても
今回の要件は満たせそうにないですね。


>  フォルダのアイコンが小さいので、
アイコンのデザインは、OS によって多少の差異があります。
サイズは変わらないですけれどね。


> これは標準ダイアログではないのでしょうか?
VS の作りがどうなっているかは調べていませんが、とりあえず
「コモンダイアログ」を拡張しようとすると、こういう手段が必要になります。
http://msdn.microsoft.com/en-us/library/ms996463.aspx
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -