TreeView和ImageList通常是在一起使用的,ImageList只是作为TreeView的一个属性,为TreeView提供图片。
事先在ImageList中添加好各图片资源即可由TreeView使用(也许ImageList可以同时为多个控件提供图片)。设置TreeView的ImageList属性为已添加的ImageList控件,ImageIndex属性值就是TreeView中所有节点的图片,也可以用ImageKey属性(就是图片的名称)。SelectedImageIndex属性表示当节点处于选中状态时显示的图片,StateImageIndex属性表示节点的CheckBox设为false时显示的图片。
其实可以将TreeView看作一个容器,包含很多节点(TreeNode),每个TreeNode都是一个控件对象,每一个中又可以包含很多TreeNode,这样就形成了树形结构。TreeView有个属性TreeNodes,可以直接在界面中添加TreeNode,每个TreeNode下又可以添加TreeNode。在编写代码的时候,主要是对TreeNode的属性控制。
例:
TreeView1.Nodes[0]或TreeView1.Nodes["节点1的name"]:TreeView1的第一个节点
TreeView1.Nodes[0].Nodes[1]:TreeView1的第一个节点下的第2个节点
TreeView1.Nodes.Add("节点1的name","节点1的text"),+7重载:添加一个新的节点
TreeView1.Nodes.IndexOf(treeNode):返回指定节点的索引
TreeView1.Nodes.IndexOfKey("节点的name"):返回指定节点的索引
TreeView1.Nodes.Insert(index),+7重载:在指定位置插入节点
TreeView1.Nodes.Remove(treeNode),.RemoveAt,.RemoveByKey:删除节点
TreeView1.Nodes[0].Expand():展开该节点
TreeView1.Nodes[0].ExpandAll():展开该节点下的所有子节点
TreeView1.Nodes[0].Nodes[1].Name,
TreeView1.Nodes[0].Nodes[1].FirstNode,本节点的子集中第一个节点(非同级)
TreeView1.Nodes[0].Nodes[1].LastNode,
TreeView1.Nodes[0].Nodes[1].NextNode,同级树节点的下一个节点(同级)
TreeView1.Nodes[0].Nodes[1].PrevNode,
TreeView1.Nodes[0].Nodes[1].NextVisibleNode,
TreeView1.Nodes[0].Nodes[1].PrevVisibleNode,
TreeView1.Nodes[0].Nodes[1].Parent,获取父节点
TreeView1.Nodes[0].Nodes[1].Level,获取深度(根节点为0)
TreeView1.Nodes[0].Nodes[1].FullPath,获取节点完整路径,返回String
TreeView1.Nodes[0].Nodes[1].GetNodeCount, 返回子树节点的数目
TreeView1.Nodes[0].Nodes[1].ImageIndex,默认时
TreeView1.Nodes[0].Nodes[1].SelectedImageIndex,选中时
TreeView1.Nodes[0].Nodes[1].SelectedImageKey,CheckBox设为false时
TreeView1.Nodes[0].Nodes[1].Index,
TreeView1.Nodes[0].Nodes[1].NodeFont,
TreeView1.Nodes[0].Nodes[1].IsEditing,IsExpanded,IsSelected,是否处于可编辑状态,是否处于可展开状态,是否处于选定状态
TreeView1.Nodes[0].Nodes[1].Text,显示的文本
TreeView1.Nodes[0].Nodes[1].ToolTipText,鼠标指针悬停时显示的文本
TreeView1.Nodes[0].Nodes[1].TreeView,树节点分配到的父树视图
(参数中如果包含key,是指的节点的Name)
TreeView事件中,可以使用e.Node对象,如:
private void TreeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{
e.Node.Add("text");
}
e.Node表示被双击的那个节点!
阅读(4878) | 评论(0) | 转发(0) |