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");