
这个很简单,只需要一句代码,
treeview1_AfterSelect(treeview1SelectedNode, null);
treeview1为树控件的名字
在需要的地方加入该行代码,即可触发树控件的"选择改变后“ 这个事件
参数1为:当前树控件选中的节点,参数2,带入null值即可
调用前请生成treeview1_AfterSelect事件,事件内做什么事情那就由你决定了
哈哈,是不是很简单? 给分啊
(TreeView名)Nodes---------->获取所有根节点
(TreeView名)Nodes[0]Nodes[0]name------->获取第一个根节点下的第一个子节点的名字
一个Nodes表示节点的一个深度
只有一个Nodes是获取根节点中括号中加数字表示第几个节点
TreeView的数据存储格式一般如下:
(节点编号,节点名称,节点值,上级节点编号)
public void LoadTree(TreeNode tn)
{
if(tn == null) //加载根节点
{
//从数据库获取上级节点编号=0的DataSet
foreach(DataRow dr in dsTables[0]Rows)
{
TreeNode newNode=new TreeNode(dr["节点名称"] , dr["节点编号"]);
tnNodesAdd(newNode);
LoadTree(newNode);//递归
}
}
else
{
//获取当前节点的下一层节点DataSet
foreach(DataRow dr in dsTables[0]Rows)
{
TreeNode newNode=new TreeNode(dr["节点名称"] , dr["节点编号"]);
tnNodesAdd(newNode);
LoadTree(newNode);//递归
}
}
}
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
MessageBoxShow(eNodeText);
}
private void TVdepartment_ItemDrag(object sender, ItemDragEventArgs e)//左键拖动
{
if (eButton == MouseButtonsLeft)
{
DoDragDrop(eItem, DragDropEffectsMove);
}
}
private void TVdepartment_DragEnter(object sender, DragEventArgs e)
{
if (eDataGetDataPresent("SystemWindowsFormsTreeNode"))
{
eEffect = DragDropEffectsMove;
}
else
{
eEffect = DragDropEffectsNone;
}
}
private void TVdepartment_DragDrop(object sender, DragEventArgs e)//拖动
{ //获得拖放中的节点
TreeNode moveNode = (TreeNode)eDataGetData("SystemWindowsFormsTreeNode");
//根据鼠标坐标确定要移动到的目标节点
Point pt;
TreeNode targeNode;
pt = ((TreeView)(sender))PointToClient(new Point(eX, eY));
targeNode = thisTVdepartmentGetNodeAt(pt);
//如果目标节点无子节点则添加为同级节点,反之添加到下级节点的未端
TreeNode NewMoveNode = (TreeNode)moveNodeClone();
if (targeNodeNodesCount == 0)
{
targeNodeParentNodesInsert(targeNodeIndex, NewMoveNode);
}
else
{
targeNodeNodesInsert(targeNodeNodesCount, NewMoveNode);
}
//更新当前拖动的节点选择
TVdepartmentSelectedNode = NewMoveNode;
//展开目标节点,便于显示拖放效果
targeNodeExpand();
//移除拖放的节点
moveNodeRemove();
}
风某提供两种方式:
第一种是在TreeView的AfterSelect事件中,
TreeViewEventArgs
e的这个e具备了Node的属性,也就是说这个eNodeNodes就是被选中的节点的子节点组合。
第二种方式你可以使用treeView1SelectedNode的Nodes属性,也就是thistreeView1SelectedNodeNodes,就是TreeView的被选中的树节点子节点了
//循环遍历TreeView的每个节点
private void button1_Click(object sender, EventArgs e)
{
ShowNodes(treeView1Nodes);
}
//遍历所有节点
private void ShowNodes(TreeNodeCollection tnodes)
{
foreach (TreeNode node in tnodes)
{
if (nodeText == "指定的节点名")
{
//给指定的节点增加子节点
nodeNodesAdd("子节点名");
}
ShowNodes(nodeNodes);
}
}
以上就是关于c#怎么获取treeview的子节点并单击触发事件全部的内容,包括:c#怎么获取treeview的子节点并单击触发事件、怎么样获取TreeView节点、急 在线等 遍历TreeView 获取所有节点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)