treeview结合listview的问题?

youngcy 2003-08-25 01:36:57
private void treeView1_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
{
string s = " ";
string [] filename=Directory.GetFiles(s);
listView1.Items.Clear();
for (int j=0; j<filename.Length;j++)
{
ListViewItem lvi =new ListViewItem(filename[j]);
this.listView1.Items.Add(lvi);
}
}
其中s为什么才能响应点击treeview的节点在listview中出现文件夹中文件
...全文
81 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
covis 2003-08-25
  • 打赏
  • 举报
回复
为全路径,在加入TREENODE时,把文件夹全路径加入NODE的TAG属性里。
youngcy 2003-08-25
  • 打赏
  • 举报
回复
private void fillTree()
{
DirectoryInfo directory;
string sCurPath = ""; // 重新清空
treeView1.Nodes.Clear();

// 将硬盘上的所有的驱动器都列举出来
foreach( char c in driveLetters )
{
sCurPath = c + ":\\";
try
{
// 获得该路径的目录信息
directory = new DirectoryInfo(sCurPath);

// 如果获得的目录信息正确,则将它添加到目录树视中
if ( directory.Exists == true )
{
TreeNode newNode = new TreeNode(directory.FullName);
treeView1.Nodes.Add(newNode); // 添加新的节点到根节点
getSubDirs(newNode);
// 调用getSubDirs()函数,检查该驱动器上的任何存在子目录
}
}
catch( Exception doh)
{
Console.WriteLine(doh.Message);
}
}
}

private void getSubDirs( TreeNode parent )
{
DirectoryInfo directory;
try
{
// 如果还没有检查过这个文件夹,则检查之
if ( parent.Nodes.Count == 0 )
{
directory = new DirectoryInfo(parent.FullPath);
foreach( DirectoryInfo dir in directory.GetDirectories())
{
// 新建一个数节点,并添加到目录树视
TreeNode newNode = new TreeNode(dir.Name);
parent.Nodes.Add(newNode);
}
}

foreach(TreeNode node in parent.Nodes)
{
// 如果还没有检查过这个文件夹,则检查
if (node.Nodes.Count == 0)
{
directory = new DirectoryInfo(node.FullPath);

// 检查该目录上的任何子目录
foreach( DirectoryInfo dir in directory.GetDirectories())
{
// 新建一个数节点,并添加到目录树视
TreeNode newNode = new TreeNode(dir.Name);
node.Nodes.Add(newNode);
}
}
}
}
catch( Exception doh )
{
Console.WriteLine(doh.Message);
}
}

private string fixPath( TreeNode node )
{
string sRet = "";
try
{
sRet = node.FullPath;
int index = sRet.IndexOf("\\\\");
if (index > 1 )
{
sRet = node.FullPath.Remove(index, 1);
}
}
catch( Exception doh )
{
Console.WriteLine(doh.Message);
}
return sRet;
}




public string name// 返回所选择的目录的名称
{
get { return ((folder != null && folder.Exists))? folder.Name : null; }
} public string fullPath// 返回所选择的目录的完整路径
{
get { return ((folder != null && folder.Exists && treeView1.SelectedNode != null))? fixPath(treeView1.SelectedNode) : null; }
}

public DirectoryInfo info// 返回所选择的目录的信息
{
get { return ((folder != null && folder.Exists))? folder : null; }
}
这就是我的treeview,怎样得到?
layershow 2003-08-25
  • 打赏
  • 举报
回复
是不是说如何取s这个路径?
取这个treeview的被选中节点.
这个选中的节点就是你想要的s吧

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧