我已经知道TreeView中一个节点的ID,如何定位到该结点?

guilezhang 2005-01-25 10:39:29
我已经知道TreeView中一个节点的ID,如何定位到该结点?
...全文
194 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cm1024 2005-03-09
  • 打赏
  • 举报
回复
抱歉!昨天提到的办法太笨了:用出错来当程序运转的条件!让大家见笑了。想到一个新的更简单的办法:
public void ExpandNode(TreeNode CurNode)
{//递归展开Tree,以保证指定的节点可以被选中
//节点的INDEX中有N个“.”,就表示它是N+1级节点,如果一个“.”也没有,就表示是根节点了,以此做为递归结束的条件
if (CurNode.GetNodeIndex().IndexOf(".") > 0)
{this.ExpandNode((TreeNode)CurNode.Parent);}
CurNode.Expanded = true;
}
调用方法:
this.ExpandNode(this.tree.GetNodeFromIndex(CurKey));//用递归的办法全部展开
this.tree.SelectedNodeIndex = CurKey;//这下可以设置了。
关键点与上一种方法相同:先得把树展开到需要选中的节点上,才能选中,否则出错。
cm1024 2005-03-08
  • 打赏
  • 举报
回复
得到这个节点的ID: string CurKey = this.tree.SelectedNodeIndex;
一般格式类似“4.1.3”,表示第5个一级节点和第2个二级节点和第4个三级节点,比较复杂吧。
要想让这个节点被选中,如果直接:this.tree.SelectedNodeIndex = CurKey;会返回错误:SelectedNodeIndex 无法在一个没有显示的节点设置(须扩展选择节点的所有父节点),所以我这样:
public void ExpandNode(TreeNode CurNode)
{
TreeNode NewNode = null;
try//如果是最上一级节点,本来没有父节点了,可它还有父对象就是整个Tree
{NewNode = (TreeNode)CurNode.Parent;}//我不知道如何判断父对象是Tree还是TreeNode
catch
{NewNode = null;}//只有强行转一下看看,转了出错的,就是最上一级了。
if (NewNode != null)
{this.ExpandNode((TreeNode)CurNode.Parent);}
CurNode.Expanded = true;
}
调用方法:
this.ExpandNode(this.tree.GetNodeFromIndex(CurKey));//用递归的办法全部展开
this.tree.SelectedNodeIndex = CurKey;//这下可以设置了。
aijing 2005-01-27
  • 打赏
  • 举报
回复
1 2 4floor
i三千 2005-01-27
  • 打赏
  • 举报
回复
up
xj_lxy 2005-01-27
  • 打赏
  • 举报
回复
TreeView1.GetNodeFromIndex("1.0";)//定位到第二个节点的第一个子节点
YIO2002 2005-01-25
  • 打赏
  • 举报
回复
treeView1.SelectedNode=treeView1.Nodes[0].Nodes[2];

注:
第一个node是主节点,第二个node是子节点.
  • 打赏
  • 举报
回复
循环递规
EATSAHARA 2005-01-25
  • 打赏
  • 举报
回复
TreeView.SelectedNode = TreeView.Nodes[ID];
mengfanpp 2005-01-25
  • 打赏
  • 举报
回复
TreeView1.SelectedNodeIndex = "1.0";//定位到第二个节点的第一个子节点

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧