求Winform树状结构
要求:先加载一级节点,点一级节点时加载二级节点
依次往下;
加载一级节点时,判断有没有子节点,要是有,显示加号,加一个空节点
点击一级节点时,要是有一个空节点,则删除此节点,且读入子节点
要是有多个子节点,说明已经加载了,不处理,
要是没有字节点,说明他根本就没有节点,不用处理 --------------------编程问答-------------------- 自已顶 --------------------编程问答-------------------- 最主要是如何添加和移除空节点 --------------------编程问答-------------------- --------------------编程问答-------------------- 有没有人给个例子.自己写了一半不知道如何移除加进去的空节点 --------------------编程问答-------------------- if(tv.Nodes[1].Text.Trim()=="")
{
tv.Nodes[1].Remove(); //移除节点文本为空的节点
}
if(tv.Nodes[1].Nodes.Count > 0) //移除当前节点的子节点
{
tv.Nodes[1].Nodes.Clear();
}
--------------------编程问答-------------------- 上面实现是可以的,双击事件可以,按+号怎么不一样呢.不知道+用那个事件 --------------------编程问答-------------------- TreeNode有个展开事件 展开是Expand 收起是Collapse --------------------编程问答-------------------- 错了 是TreeView的事件 --------------------编程问答-------------------- 可是这样调用就是实现不了:
private void tvMaterial_DoubleClick(object sender, EventArgs e)
{
TreeNode FNode = new TreeNode();
FNode = tvMaterial.SelectedNode;
if (FNode != null)
{
//if (FNode.Nodes[0].Text.Trim() == "")
if (FNode.Nodes.Count == 1)
{
FNode.Nodes.Clear();
//FNode.Nodes.RemoveAt(0);
AddTree(Convert.ToInt32(FNode.Tag), FNode);
}
}
}
private void tvMaterial_BeforeExpand(object sender, TreeViewCancelEventArgs e)
{
tvMaterial_DoubleClick(sender, e);
} --------------------编程问答-------------------- 似乎是点击+不能SelectedNode --------------------编程问答--------------------
private void tvMaterial_BeforeExpand(object sender, TreeViewCancelEventArgs e)
{
TreeNode FNode = new TreeNode();
FNode = tvMaterial.SelectedNode;
if (FNode != null)
{
//if (FNode.Nodes[0].Text.Trim() == "")
if (FNode.Nodes.Count == 1)
{
FNode.Nodes.Clear();
AddTree(Convert.ToInt32(FNode.Tag), FNode);
}
}
else
{
FNode = e.Node;
if (FNode.Nodes.Count == 1)
{
FNode.Nodes.Clear();
AddTree(Convert.ToInt32(FNode.Tag), FNode);
}
}
}
这样都得不到选择的节点 --------------------编程问答-------------------- 资源管理器
补充:.NET技术 , C#