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

わんくま同盟

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

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


■88079 / )  Re[1]: ツリービューのフォルダ表示名変更について
□投稿者/ Hongliang (668回)-(2018/08/01(Wed) 14:07:52)
> DirectoryInfo dirList = new DirectoryInfo(node.FullPath);
> foreach (DirectoryInfo fo in dirList.GetDirectories())
> {
>     TreeNode child = new TreeNode(fo.Name);
こっちのコードみたいにDirectoryInfoとそのNameプロパティを使うように、
> string[] Dir = Directory.GetDirectories(fPH ///他フォームのコンボボックスから選んだパス);
> foreach (String GDir in Dir)
> {
>     TreeNode node = new TreeNode(GDir);
こっちのコードも変更したらいいと思います。

> 1、あるサイトにて、treeView1.Nodes("C:\Users\ユーザー名\").Text="";
> のようにすると一斉に消せるとなっていたが、「Nodes」のところでエラーが出る。
VBのコードですね。
C#では .Nodes["..."] のように角括弧でアクセスします。
でも今回の目的において何に使うコードでしょうか……?


> 2、フォルダ名をいじると子ノードが開けずエラーが出る。
各TreeNodeはTagプロパティを持っていて、ここに任意の値を置いておくことができます。
今回の場合であれば、ここにDirectoryInfoを設定すると便利そうです。

// 設定する
foreach (DirectoryInfo fo in dirList.GetDirectories())
{
    TreeNode child = new TreeNode(fo.Name);
    child.Tag = fo;
    略
}

// 使う
var dir = (DirectoryInfo)e.Node.Tag;
Debug.Print(dir.FullName);

返信 編集キー/


管理者用

- Child Tree -