treeview and listview

Hello,

Please help me ...

I want to make win application something like explorer with treeview and listview.

I make treeview to show me rootdir C and when i click it expand al directory which have and so on. When i click on same folder in treeview i want to see it's contents in listview.

this is the code i wrote...

namespace DatabaseSearch

{

publicpartialclassForm1 :Form

{

public Form1()

{

InitializeComponent();

}

publicbool createTree(TreeView treeView)

{

bool returnvalue =false;

try

{

foreach (DriveInfo drvinDriveInfo.GetDrives())

{

TreeNode fchild =newTreeNode();

fchild.Text = drv.Name;

fchild.Nodes.Add("");

treeView.Nodes.Add(fchild);

returnvalue =true;

}

}

catch (Exception)

{

returnvalue =false;

}

return returnvalue;

}

publicTreeNode EnumerateDirectory(TreeNode parentNode)

{

try

{

DirectoryInfo rootDir;

rootDir =newDirectoryInfo(parentNode.FullPath +"\\");

parentNode.Nodes[0].Remove();

foreach (DirectoryInfo dirin rootDir.GetDirectories())

{

TreeNode node =newTreeNode();

node.Text = dir.Name;

node.Nodes.Add("");

parentNode.Nodes.Add(node);

}

foreach (FileInfo filein rootDir.GetFiles())

{

TreeNode node =newTreeNode();

node.Text = file.Name;

parentNode.Nodes.Add(node);

}

}

catch (Exception)

{

}

return parentNode;

}

privatevoid updateListView(ListView listView)

{

ListView lv =newListView();

}

privatevoid Form1_Load(object sender,EventArgs e)

{

createTree(this.treeView1);

}

privatevoid treeView1_BeforeExpand(object sender,TreeViewCancelEventArgs e)

{

if (e.Node.Nodes[0].Text =="")

{

TreeNode node = EnumerateDirectory(e.Node);

}

}

privatevoid listView1_Activate(object sender,EventArgs e)

{

ListView.SelectedListViewItemCollection itemList = listView1.SelectedItems;

ListViewItem item = itemList[0];

TreeNode selectedNode = treeView1.SelectedNode;

selectedNode.Expand();

foreach (TreeNode searchNodein selectedNode.Nodes)

{

if (searchNode.Text.Equals(item.Text))

{

treeView1.SelectedNode = searchNode;

searchNode.Expand();

// updateListView(searchNode);

break;

}

}

}

privatevoid treeView1_afterelect(object sender,TreeViewEventArgs e)

{

TreeNode selectedNode = e.Node;

if (selectedNode.Parent !=null)

{

listView1.Items.Clear();

Type node = (Type)selectedNode.Tag;

foreach (MemberInfo miin node.GetMembers())

{

if (mi.MemberType ==MemberTypes.Field &&

mi.Name !="value__")

{

listView1.Items.Add(mi.Name); }

}

}

label1.Text ="Path: " + selectedNode.FullPath;

}

please help

THANKS

[8739 byte] By [dev_bih] at [2007-12-22]