自制资源管理器(我上学时候做的总结- -欧耶)

1--statusBar(工具栏)
2--忝加treeView(树控件)--设置dock属性为--点左面(left)
3--设置splitter(分割条)--dock设为left
4--listView--dock属性(点中央)--fill
5--添加-imageList(图象列表)--点imageList的Images(Collection)--添加图片
6--treeView的ImageList属性设置为(imageList控件的名字)
7-通过treeView点Nodes手动添加根节点(最高节点只能有一个有手动添加)
8--treeView的--showRooTlines设置为fasle是不在最高父节点左边显示-
9--设置-listView的标题---请看下面第二部分中的(设置标题)
10--设置treeView的AfterSelect事件(该事件在刚启动的时候也会出发一次)//代码如下

   if(e.Node.Text.ToString()!="桌面")//点的不是最高的父节点
   {EnumDirectories(e.Node);
   else//点父节点(在第一次启动时自动触发AfterSelect并且为点节父节点)
   {EnumDrives(e.Node); }


//
  treeView1.SelectedNode=treeView1.Nodes[0].Nodes[1];//设置父节点为传递进来的e.Node代表的节点

11------循环显示父节点  private void EnumDrives(TreeNode ParentNode)
  {
   if(ParentNode.Nodes.Count==0)
   {   
    foreach(string drive in Directory.GetLogicalDrives())
    {
     FolderTree.SelectedNode=ParentNode;//设置父节点为传递进来的e.Node代表的节点
     TreeNode TempNode=new TreeNode();//设置一个新节点
     TempNode.Text=drive.Substring(0,drive.Length-1);//去掉(例如c:/中的   /)
     TempNode.Tag=drive;//局部用来循环的变量
     TempNode.ImageIndex=1;//设置位点击的图片索引
     TempNode.SelectedImageIndex=1; //设置打开的图片索引
     FolderTree.SelectedNode.Nodes.Add(TempNode);//添加到nodes集合众
     FolderTree.SelectedNode.Nodes[FolderTree.SelectedNode.Nodes.Count-1].EnsureVisible();
    }
   }
  }

//-------------

 

  private void EnumDirectories(TreeNode ParentNode)//子节点
  {
   treeView1.SelectedNode=ParentNode;
   string DirectoryPath=ParentNode.Tag.ToString();
   listView1.Items.Clear();//清除listView空间
   DirectoryInfo thefolder=new DirectoryInfo(DirectoryPath);
   int i=0;
   foreach(FileInfo nextfile in thefolder.GetFiles())
   {
    listView1.Items.Add(nextfile.Name);
    listView1.Items[i].ImageIndex = 4;
    listView1.Items[i].SubItems.Add("1");
    listView1.Items[i].SubItems.Add("1");
    listView1.Items[i].SubItems.Add("1");
    i=i+1;
   }
   if(ParentNode.Nodes.Count==0)
   {
    if(DirectoryPath.Substring(DirectoryPath.Length-1)!=@"/")//不是跟目录的时候
     
DirectoryPath+=@"/";
    try
    {
     foreach(string directory in Directory.GetDirectories(DirectoryPath))
     {
      TreeNode TempNode=new TreeNode();
      TempNode.Text=directory.Substring(directory.LastIndexOf(@"/")+1);
      TempNode.Tag=directory;
      TempNode.ImageIndex=3;
      TempNode.SelectedImageIndex=2;
      treeView1.SelectedNode.Nodes.Add(TempNode);
      treeView1.SelectedNode.Nodes[treeView1.SelectedNode.Nodes.Count-1].EnsureVisible();
     }
    }
    catch(Exception)
    {
    }
   }
   }


----------
(一)-------------TreeView 控件

TreeView 控件的主要属性是 Nodes 和 SelectedNode
Nodes 属性包含树视图中的顶级节点列表
SelectedNode 属性设置当前选定节点
节点旁边可显示图标
从树视图的 ImageList 属性中命名的 ImageList 控件获取图像
ImageIndex 属性为树视图中的节点设置默认图像

----在设计器中添加或移除节点

选择 TreeView 控件或将一个 TreeView 控件添加到窗体中。
在“属性”窗口中,单击 Nodes 属性旁的省略号 ( )。
以编程方式添加节点
使用树视图 Nodes 属性的 Add 方法。
TreeNode newNode = new TreeNode("Text for new node");
treeView1.SelectedNode.Nodes.Add(newNode);
treeView1.Nodes.Add(newNode);
以编程方式移除节点
使用树视图 Nodes 属性的 Remove 方法移除单个节点,或使用 Clear 方法清除所有节点
 treeView1.Nodes.Remove(treeView1.SelectedNode);
 treeView1.Nodes.Clear();

-----确定单击了哪个节点

protected void treeView1_AfterSelect (object sender, System.Windows.Forms.TreeViewEventArgs e)
{
   // 检查单击节点的文本属性
   MessageBox.Show(e.Node.Text);
}

----在树视图中显示图像

将 TreeView 控件的 ImageList 属性设置为希望使用的现有 ImageList 控件。 这些属性可在设计器中使用“属性”窗口设置,也可在代码中设置。
         treeView1.ImageList = imageList1;
2.设置节点的 ImageIndex 和 SelectedImageIndex 属性。ImageIndex 属性确定为正常和展开状态下的节点显示的图像,SelectedImageIndex 属性确定为选定状态下的节点显示的图像。
        treeView1.SelectedNode.ImageIndex = 0; treeView1.SelectedNode.SelectedImageIndex = 1;

-------(二)ListView 控件

---ListView控件具有四种视图模式

“LargeIcon”
“SmallIcon”
“List”
“Details”
Items属性包含控件所显示的项
SelectedItems 属性包含控件中当前选定项的集合
MultiSelect 属性指示用户是否可选择多项
Activation 属性确定用户必须采取何种操作以激活列表中的项:选项为
“Standard”
“OneClick”
“TwoClick”
---------------------------

以编程方式添加项
   listView1.Items.Add("List item text", 3);

以编程方式移除项
    删除第一项
    listView1.Items.RemoveAt(0);
或:
   listView1.Items.Remove(listView1.Items[0]);
     全部清除
     listView1.Items.Clear();


---------------------------在设计器中加列标题

将控件的 View 属性设置为 Details。
在“属性”窗口中,单击 Columns 属性旁的省略号按钮 ( )。
出现“ColumnHeader 集合编辑器”。
使用“添加”按钮添加新列。然后可以选择列标头并设置其文本(列的标题)、文本对齐方式和宽度。


--以编程方式添加列标题

listView1.View = View.Details;
listView1.Columns.Add("File type", 20, HorizontalAlignment.Left);


-------------在列表视图中显示图像


将适当的属性 SmallImageList、LargeImageList 或 StateImageList 设置为希望使用的现有 ImageList 组件
      listView1.SmallImageList = imageList1;

2.    为每个具有关联图标的列表项设置 ImageIndex 或 StateImageIndex 属性。
       listView1.Items[0].ImageIndex = 3;
             listView1.Items[0] .SelectedImageIndex=1

--------------将子项添加到列表项中

listView1.Items[0].SubItems.Add("John Smith");

listView1.Items[0].SubItems.Add("Accounting");


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值