1 全部删除
TreeView 是根据数据库的内容动态创建的2层 TreeView。程序运行过程中,可能会对数据库的内容进行修改,因此想更新 TreeView ,暂时想法是,把所有节点删除,然后重新创建。 但如何全部删除?只有遍历所有的节点然后删除么?2 删除父节点同时删除其子节点
问题: mynode.Remove() ; 为什么加上这句话就会出错,有时又不会出错????不加的话,遍历就没问题,每个节点都出现一次。奇怪!代码如下:
//判断选定的节点是否存在下一级节点
if ( mySelectedNode.Nodes.Count == 0 )
{
}
else
{
if (mySelectedNode.Parent == null)
{
foreach(TreeNode mynode in mySelectedNode.Nodes)
{
Console.WriteLine("未被删除的子节点 {0} ",mynode.Text);
/*
* 这里有问题,同一子节点可能会出现多次,第二次 Remove 的时候,就会出错。如果没
* 有这个 Remove ,就不会出现同一子节点出现多次的现象!
*/
mynode.Remove() ;//删除子节点
}
}
//MessageBox.Show ( "请先删除此节点中的子节点!" , "提示信息" , MessageBoxButtons.OK , MessageBoxIcon.Information ) ;
}mySelectedNode.Remove();//删除父节点
mySelectedNode=null;
另有2个问题,各位帮忙看看。TreeView 中,如何使右键单击和左键单击一样,单击空白处不选择任何一个node
http://community.csdn.net/Expert/topic/4975/4975490.xml?temp=.2613794
C# 中 Recordset 中的 RecordCount 为什么总是返回 -1
http://community.csdn.net/Expert/topic/4985/4985677.xml?temp=.4153101
TreeView 是根据数据库的内容动态创建的2层 TreeView。程序运行过程中,可能会对数据库的内容进行修改,因此想更新 TreeView ,暂时想法是,把所有节点删除,然后重新创建。 但如何全部删除?只有遍历所有的节点然后删除么?2 删除父节点同时删除其子节点
问题: mynode.Remove() ; 为什么加上这句话就会出错,有时又不会出错????不加的话,遍历就没问题,每个节点都出现一次。奇怪!代码如下:
//判断选定的节点是否存在下一级节点
if ( mySelectedNode.Nodes.Count == 0 )
{
}
else
{
if (mySelectedNode.Parent == null)
{
foreach(TreeNode mynode in mySelectedNode.Nodes)
{
Console.WriteLine("未被删除的子节点 {0} ",mynode.Text);
/*
* 这里有问题,同一子节点可能会出现多次,第二次 Remove 的时候,就会出错。如果没
* 有这个 Remove ,就不会出现同一子节点出现多次的现象!
*/
mynode.Remove() ;//删除子节点
}
}
//MessageBox.Show ( "请先删除此节点中的子节点!" , "提示信息" , MessageBoxButtons.OK , MessageBoxIcon.Information ) ;
}mySelectedNode.Remove();//删除父节点
mySelectedNode=null;
另有2个问题,各位帮忙看看。TreeView 中,如何使右键单击和左键单击一样,单击空白处不选择任何一个node
http://community.csdn.net/Expert/topic/4975/4975490.xml?temp=.2613794
C# 中 Recordset 中的 RecordCount 为什么总是返回 -1
http://community.csdn.net/Expert/topic/4985/4985677.xml?temp=.4153101
解决方案 »
- 关于如何得到客户端控件CheckBox的值,急~~~在线等!!!!
- 怎么添加到treeView
- c#在vista系统目录下无法创建文件夹
- 50分求思路,怎样有效的用C#编程实时监控IIS的连接等状态
- if()语句出错,不知道哪里的问题
- c#中如何求得数组元素个数
- 求:C#入门经典源码!谢谢!
- 在IE的工具栏区插入了一个用户控件,在IE的浏览区也插入了一个用户控件。怎么使工具栏区的用户控件的click事件使浏览区中的用户控件显示
- C# List<T> 作为参数的问题
- C#新建窗口显示问题,新手求救
- 请教一个客户端接受服务端文件的问题
- TreeView 中,如果使右键单击和左键单击一样,单击空白处不选择任何一个node
{
Console.WriteLine("未被删除的子节点 {0} ",mynode.Text);
/*
* 这里有问题,同一子节点可能会出现多次,第二次 Remove 的时候,就会出错。如果没
* 有这个 Remove ,就不会出现同一子节点出现多次的现象!
*/
mynode.Remove() ;//删除子节点
}
-------
用foreach的时候,删除之后,索引值已改变,所以出错
建议用递归
问题2还没解决。如果删除父节点的时候不删除子节点,会有什么后果?另有个问题,各位帮忙看看。TreeView 中,如何使右键单击和左键单击一样,单击空白处不选择任何一个node
http://community.csdn.net/Expert/topic/4975/4975490.xml?temp=.2613794
http://blog.csdn.net/Knight94/archive/2006/08/20/1100236.aspx提供的删除方法。
http://community.csdn.net/Expert/topic/4975/4975490.xml?temp=.2613794
private void delSubNodes(TreeNode parent )
{
if (parent==null)
{
return;
}
//判断选定的节点是否存在下一级节点
if ( parent.Nodes.Count == 0 )
{
}
else
{
for( int i = parent.Nodes.Count - 1; i >=0; i-- )
{
Console.WriteLine(" 删除: {0}",parent.Nodes[i].Text);
parent.Nodes.RemoveAt(i);
}
}
}