大家好
那位高手能给解决一个问题:
C#中用treeView控件制作了个目录树。
现知道了子节点的ID。想按指定的ID展开节点。
用treeView1.Nodes[0].Nodes[1].Nodes[2].Expand();就可以达到我的目的了。但ID可能有许多。如(0,1,0,2,3,2.....),每一个数字就需要在上面的语句中增加一个Nodes[]。
treeView1.Nodes[0].Nodes[1].Nodes[2]...........加个Nodes[].Expand();
请问如何实现。 谢谢
那位高手能给解决一个问题:
C#中用treeView控件制作了个目录树。
现知道了子节点的ID。想按指定的ID展开节点。
用treeView1.Nodes[0].Nodes[1].Nodes[2].Expand();就可以达到我的目的了。但ID可能有许多。如(0,1,0,2,3,2.....),每一个数字就需要在上面的语句中增加一个Nodes[]。
treeView1.Nodes[0].Nodes[1].Nodes[2]...........加个Nodes[].Expand();
请问如何实现。 谢谢
private void addNode(str )
{
TreeNode node;
for(int i=0;i<=str.Length,i++)
{
if(i!=str.Length)
{
node=node.Nodes[i]
}
}
node.Expand();
}就像我这样写 ,我随便写的 你稍微改一下!
private void addNode(str )
{
TreeNode node;
for(int i=0;i <=str.Length,i++)
{
if(i!=str.Length)
{
node=node.Nodes[str[i]]
}
}
node.Expand();
} 就像我这样写 ,我随便写的 你稍微改一下!
但是 你的代码不能实现我的需要。
我需要解决:像treeView1.Nodes[0].Nodes[1].Nodes[2]...........加i个Nodes[].Expand();
树 treeView1
要节点Nodes[0]下的第2个节点.Nodes[1]下的第三个节点.Nodes[2]等等
必须形成如:treeView1.Nodes[0].Nodes[1].Nodes[2].Expand();
的语句。
private void AddTree()
{
int[] str ={ 0, 0, 2 };
TreeNode node = treeView1.Nodes[str[0]];
for (int i = 1; i < str.Length; i++)
{
node = node.Nodes[str[i]];
}
node.Expand();
}
不过只能展开一个节点,如果要把路径上所有节点都展开需要在for 里面加node.Expand();
这里的数组你可以做成动态的,不固定数量,根据你实际情况便利数组!
经测试 你的代码是对的,但只能在已经展开的基础上进行。我将其修改为:
private void AddTree()
{
int[] str ={ 0, 1, 28,0,13,3};
TreeNode node = treeView1.Nodes[str[0]];
node.Expand();
for (int i = 1; i < str.Length; i++)
{
node = node.Nodes[str[i]];
node.Expand();
}
}
测试完全正确,确保在所有树节点不是展开的情况下,也能展开指定的节点。
再次谢谢 如何给你给分? 我是第一次在此论坛上发帖。见笑了。
另:能交个朋友么? 我是江苏连云港的 你是那里的?