public void DriveList() 

TreeNode bootTreeNode;
TreeNode driveTreeNode;
int imageIndex = 0; 
int selectIndex = 0; 
    
const int FloppyDisk = 2; 
const int LocalDisk = 3; 
const int Network = 4;
const int CDRom = 5;
    
//clear TreeView 
treeView1.Nodes.Clear();
//creat bootTreeNode
bootTreeNode = new TreeNode("我的电脑",0,0);
treeView1.Nodes.Add(bootTreeNode); 
    
//Get Drive list 
ManagementObjectCollection driveCollection = getDrives(); 
foreach ( ManagementObject drive in driveCollection) 

switch ( int.Parse (drive["DriveType"].ToString())) 

case FloppyDisk:  
imageIndex = 1; 
selectIndex = 1; 
break; 
case LocalDisk: 
imageIndex = 2; 
selectIndex = 2; 
break; 
case CDRom:  
imageIndex = 3; 
selectIndex =3; 
break; 
case Network:  
imageIndex =4; 
selectIndex =4; 
break; 
default:  
imageIndex = 4; 
selectIndex = 4; 
break; 

        
//create new drive node
driveTreeNode = new TreeNode(drive["Name"].ToString() 
+ "\\" ,imageIndex,selectIndex); 
        
//add new node 
bootTreeNode.Nodes.Add(driveTreeNode); 

}