在C#中分配treeview.selectedNode的问题 [英] problem assigning treeview.selectedNode in C#

查看:732
本文介绍了在C#中分配treeview.selectedNode的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在C#中设置treeView.selectedNode,我希望在处理此分配时发生beforeSelect事件。但我的问题是我在下面描述的:

当我使用下面的代码时,发生了beforeSelect事件,并将其称为''函数。



  this  .treeView1.SelectedNode = treeView1.Nodes [Level1Index]; 
this .treeView1.SelectedNode = treeView1.SelectedNode.Nodes [Level2Index];





但是当我使用如下的时候它没有发生。



  this  .treeView1.SelectedNode = treeView1.Nodes [Level1Index] .Nodes [Level2Index]; 



为什么?

解决方案

您应该将获得的节点分配到变量中,以便在调试时可以看到它们的内容(F5)。



 TreeViewNode node1 = treeView1.Nodes [Level1Index]; 
TreeViewNode node2 = treeView1.Nodes [Level2Index];





从这里,在调试器中看到你的 node1 node2 变量包含;你将对你的问题有一个更好的了解。




我仔细检查,你的场景以及何时设置SelectedNode而不管它的层次结构如何,它总是触发BeforeSelected事件。



很可能

 treeView1.Nodes [Level1Index] .Nodes [Level2Index]; 

为空。如果它为null则不会选择该节点,因此不会触发BeforeSelected事件。



问候

Jegan


I want to set treeView.selectedNode programlly in C# and I want to be occured the beforeSelect event while proccessing this assigning. but my question is what I describe below:
when I use the code bellow, the beforeSelect event occured and call it''s function.

this.treeView1.SelectedNode = treeView1.Nodes[Level1Index];
this.treeView1.SelectedNode=treeView1.SelectedNode.Nodes[Level2Index];



but when I use such as bellow It doese''nt occure.

this.treeView1.SelectedNode = treeView1.Nodes[Level1Index].Nodes[Level2Index];


why?

解决方案

You should assign your obtained nodes into variables so that you can see their content while debugging (F5).

TreeViewNode node1 = treeView1.Nodes[Level1Index];
TreeViewNode node2 = treeView1.Nodes[Level2Index];



From here, see in the the debugger what your node1 and node2 variables contain ; you will have a better understanding about your problem.


Hi,
I double checked, your scenario and when the SelectedNode is set regardless of its hierarchy, it always trigger the BeforeSelected event.

It is most likely that the

treeView1.Nodes[Level1Index].Nodes[Level2Index];

is null. if it is null then the node will not be selected and so the BeforeSelected event will not be triggered.

Regards
Jegan


这篇关于在C#中分配treeview.selectedNode的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆