添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

目录



常用属性


CheckBoxes属性


LabelEdit属性


Nodes属性。


ShowLines属性


常用方法


CollapseAll()方法


ExpandAll()方法


GetNodeCount()方法


常用事件


AfterCheck事件。


AfterCollapse事件


AfterExpand事件


AfterLabelEdit事件


AfterSelect事件。


BeforeCheck事件。


BeforeCollapse事件。


BeforeExpand事件


BeforeLabelEdit事件


BeforeSelect事件


Click事件


实用案例


垂直滚动条出来的时候让它显示在最上面


设置Node的样式


获取鼠标选中的节点。


编辑TreeView节点


父节点选中时,子节点全部选中,同级子节点选中时,父节点选中


常用属性

CheckBoxes属性

该属性表示获取或设置一个值,用以指示是否在试图空间中的树节点旁显示复选框。


例:this.treeView1.CheckBoxes=True;


LabelEdit属性

该属性表示获取或设置一个值,用以指示是否可以编辑树节点的标签文本。如果让treeView1控件不能编辑树节点将LabelEdit设置为false。


Nodes属性。

该属性用于设置TreeView控件中所有节点


this.treeView1.Nodes.Add(“拉芳”);


ShowLines属性

当在同级节点之间或者树系欸但之间有线存在,该值为True,否则为false。默认值为True。


ShowPlusminus属性。该属性表示是否在父节点旁边显示加减号。


例:设置在treeView1控件中的父级节点旁边显示加减号:this.treeView1.ShowPlusminus=true;


常用方法

CollapseAll()方法

此方法折叠所有树节点。当树系欸但折叠时,只显示父节点。


ExpandAll()方法

此方法展开所有树节点,包括子节点。


GetNodeCount()方法

此方法用于获取TreeView控件中的节点总数。


常用事件

AfterCheck事件。

该事件在选中显示在树节点旁边的复选框时发生。


语法:public event TreeViewEventHandler AfterCheck


AfterCollapse事件

该事件在树节点展开时发生。语法:


public event TreeViewEventHadler AfterCollapse


AfterExpand事件

该事件在树节点展开时发生。


语法:public event TreeViewEventHandler AfterExpand


AfterLabelEdit事件

该事件在标记树节点标签文本后发生。


语法:public event TreeViewEventHandler AfterLabelEdit


AfterSelect事件。

该事件在选中树节点后发生。


语法:public event TreeViewEventHandler AfterSelect


BeforeCheck事件。

该事件在中选复选框前发生。


public event TreeViewEventHandler BeforeCheck


BeforeCollapse事件。

该事件在树节点折叠前发生。


语法:public event TreeViewEventHandler BeforeCollapse


BeforeExpand事件

该节点在树节点展开前发生。


语法:public event TreeViewEventHandler BeforeExpand


BeforeLabelEdit事件

该事件在编辑树节点标签前发生。


语法:public event TreeViewEventHandler BeforeLabelEdit


BeforeSelect事件

该事件在选定树节点前发生。


语法:public event TreeViewEventHandler BeforeSelect


Click事件

该事件在单击控件时发生。


语法:public event EventHandler Click。


实用案例

垂直滚动条出来的时候让它显示在最上面

实现:treeView1.TopMode=treeView1.Node[0];


让第一个可见的节点时树里面的第一个节点,滚动条就会在上面了。


设置Node的样式

Node.ForeColor=System.Drawing.Color.Red;


Node.NodeFont=new System.Drawing.Font(“宋体”,9F,System.Drawing.FontStyle.Strikeout,System.Drawing.GraphicsUnit.Point,((byte)(134)));


获取鼠标选中的节点。

TreeView,当用鼠标右键单击或者双击节点时,SelectedNode并不会指向右击的节点;需要在NodeMouseClick和NodeMouseDoubleClick中操作;


private void treeview1_NodeMouseClick(object sender,TreeNodeMouseClickEventArgs e)


{

TreeNode txSelect=this.treeView1.GetNodeAt(new Point(e.X,e.Y));


this.treeView1.SelectedNode=txSelect;//也可以写成e.Node;


}


编辑TreeView节点


将LabelEidt设置为true,在树上节点设置右键或者上节点,右键新增重命名选项。


private void ResetToolStripMenuItem_Click(object sender,EventArgs e)


{

this.menuTree.SelectNode.BeginEdit();


}


private void menuTree_AfterLabelEdit(object sender,NodeLabelEditEventArgs e)


{

string name=e.Label;


if (name==null)


{

//更改后的值=e.Node.Text;


}


else


{

//更改后的值=name;


}


}


注:节点的编辑实在Label上做的更改,在编辑状态后,不做操作时e.Label为空,所以在不更改的情况下要把原来的值重新赋值过来。


父节点选中时,子节点全部选中,同级子节点选中时,父节点选中

private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)


{


if (e.Action == TreeViewAction.ByMouse)


{


if (e.Node.Nodes != null)


{


CheckAllChildNode(e.Node);


}


CheckParentNode(e.Node);


}


}


private void CheckAllChildNode(TreeNode node)


{


foreach (TreeNode childNode in node.Nodes)


{


childNode.Checked = node.Checked;


if (childNode.Nodes != null)


{


CheckAllChildNode(childNode);


}


}


}


private void CheckParentNode(TreeNode node)


{


TreeNode parentNode = node.Parent;


if (parentNode == null)


{


return;


}


bool isAllChecked = true;


foreach (TreeNode nodeOhter in parentNode.Nodes)


{


if (nodeOhter.Checked == false)


{


isAllChecked = false;


break;


}


}


parentNode.Checked = isAllChecked;


if (parentNode.Parent != null)


{


CheckParentNode(parentNode);


}


}


原文:Seaching TreeVIew WPF 项目中有一个树形结构的资源,需要支持搜索功能,搜索出来的结果还是需要按照树形结构展示,下面是简单实现的demo。 1.首先创建TreeViewItem的ViewModel,一般情况下,树形结构都包含DisplayName,Deepth,Parent...
原文:WPF 4 DataGrid 控件(基本功能篇)      提到DataGrid 不管是网页还是应用程序开发都会频繁使用。通过它我们可以灵活的在行与列间显示各种数据。本篇将详细介绍WPF 4 中DataGrid 的相关功能。