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
{
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

