C# 如何获取treeview所选中节点的值?

zwqd2008 2011-11-02 05:47:53
我想获取treeview所选中节点的值,例如,第一个根节点下地第一个子节点选中就显示0.0,再下一个子节点选中就显示0.0.0,如何实现?
...全文
5560 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Daqing 2011-11-03
  • 打赏
  • 举报
回复
不好意思,光看标题没看你内容。
下面是正确方法。
        private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
{ SetNodeCheckState((TreeNode)e.Node);}

private void SetNodeCheckState(TreeNode parentNode)
{
foreach (TreeNode node in parentNode.Nodes)
{
if (parentNode.Checked == true)
node.Checked = true;
else
node.Checked = false;
if(node.Nodes.Count>0)
SetNodeCheckState(node);
}
}
Daqing 2011-11-03
  • 打赏
  • 举报
回复 1
 void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
e.Node.Text = e.Node.Tag.ToString() + e.Node.Text;
}


AfterSelect事件
javabegin 2011-11-03
  • 打赏
  • 举报
回复 1
下面方法可以使用,注意是在树生成之后调用SetTreeViewIndex方法。索引值都存在TreeNode的tag属性中。


private void SetTreeViewIndex(TreeView tree)
{
foreach (TreeNode node in tree.Nodes)
{
node.Tag = node.Index.ToString();
SetNodeIndex(node);
}
}

private void SetNodeIndex(TreeNode parentNode)
{
foreach (TreeNode node in parentNode.Nodes)
{
node.Tag = parentNode.Tag.ToString() + "." + node.Index.ToString();
SetNodeIndex(node);
}
}

void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
e.Node.Text = e.Node.Tag.ToString() + e.Node.Text;
}

当然你也可以改成在生成树的时候,同时生成节点的索引值
hollandjzy 2011-11-03
  • 打赏
  • 举报
回复
可以做吧 先得到 选中节点的Index 如果有父节点 再取父节点的Index 同理递归到根节点为止 这样不是得到所对应的全部Index值 自己再组合下就可以了
javabegin 2011-11-03
  • 打赏
  • 举报
回复
用TreeNode的Level属性与Index属性来实现。
Level表示节点是第几层,Index属性表示节点在每层中索引,值都是从0开始计算的。
zwqd2008 2011-11-03
  • 打赏
  • 举报
回复
treeView1.SelectedNode.FullPath.ToString().Replace("\\", ".")

得到的是所选中的内容,得不到0.0.0等的序号值
jevin8011 2011-11-02
  • 打赏
  • 举报
回复
treeView1.SelectedNode.FullPath.ToString().Replace("\\", ".")
ailsa_aa 2011-11-02
  • 打赏
  • 举报
回复
treeView1.SelectedNode.Text

110,533

社区成员

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

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

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