c#:使用控件TreeView 如何在刷新后既清除之前节点又保留之前勾选的节点

TreeView中用checkbox勾选多个节点 点击确定后将勾选值传给chart图表
但这是treeview会把每个结点显示2遍
我在显示结点的函数内增加treeview.nodes.clear() 再次刷新后可以删除之前节点 但是我上次选定的checkednodes也一并被清除 这样只能重新选 而不能再原基础上继续选
请问 如何再正确显示树的情况下刷新后还能保持上次选择的结点 谢谢
方便的话请给代码示例

你这个做法就很矛盾的,怎么可以用Tree.nodes.clear呢?这样肯定是不加区别的全部清除啊,
如果你要全部清除,又要保留,那就只能是在全部清除前将那些你选择了的节点用数组或者list保留下来,等你清除后再添加回去。

或者,清除的时候要做判断,发现checkbox选择了的,就不能remove而不是clear
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-21
不明白为何treeview会把每个结点显示2遍。
是不是在什么地方加了一些代码令一个结点值加了两次上treeview?
第2个回答  2012-12-21
你值传的不对吧。你仔细看看。
第3个回答  2012-12-21
最好你先给代码,我们才能有的放矢

treeview中添加完节点后成后,刷新完依然选中添加前选中的节点的,如何...
你刷新前记录一下TreeNode选中的路径,这个你要自己算,比如使用文本 如“所有种类\\硬盘”,然后刷新以后根据这个路径寻找TreeNode节点设为Selected即可

C#中带CheckedBox的Treeview控件,怎么实现勾选当前一个节点时,其同级节...
如果非要使用CheckBox,可以写个方法,遍历当前TreeNode的父节点下的所有子节点,把CheckBox的Checked都设为false,再把当前点击的CheckBox勾选为选中,把所有节点的CheckBox的Checked事件都注册这个方法,就能实现同级节点的CheckBox单选。

怎样使用C#TreeView控件
编辑代码,输入【生成节点】的代码;获取子节点和父节点的个数,使用循环添加父节点和子节点。5 编辑【清除所有节点】的代码。6 编辑【删除所选节点】的代码。7 点击【treeview】控件,在属性中选择行为,从行为列表中选择【afterselect】双击,在代码编辑页面,添加节点被选择后的代码。8 编辑输出日志的...

C#winfrom 中 TreeView 控件中带checkbox,怎么实现在父节点上打勾,选中...
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e){ TreeNode node = e.Node;foreach (TreeNode item in node.Nodes){ item.Checked = e.Node.Checked;} }

C#中如何实现TreeView控件选中根结点相应的子节点也选中,同时将信息相 ...
private void setNodeTrue(Node selNode){ Node node = selNode.Parent;if (node != null){ node.CheckState = CheckState.Checked;setNodeTrue(node);} } endregion region 将树的checkbox选中 private void setNodeStateTrue(Node selNode){ if (selNode.CheckBoxVisible){ selNode.CheckState = ...

C#动态给treeview控件添加节点和子节点
treeview.SelectNode 就是选中的节点 此为方法一 方法二:设置treeview 有一个属性,是否显示复选框,好像叫做ShowCheckBox 设置为true,你每次勾选节点前面的复选框,然后怎么判断是否选中呢?循环所有根节点 foreach node in root.childnode if(node.Checked)\/\/这个node就是你需要在下面添加子节点的...

treeview控件使用方法
选择TreeView控件。在“属性”窗口中,单击Nodes属性旁的“省略号”()按钮。显示“树节点编辑器”。若要添加节点,必须存在根节点;如果不存在根节点,必须先单击“添加根”按钮添加一个根节点。然后,就可通过选择根节点或任何其他节点并单击“添加子级”按钮来添加子节点。若要删除节点,请选择要删除的...

C#winform treeView获取当前选中节点下的所有叶子节点
可以通过 SelectedNode 获得当前选中节点然后就可以直接在这个选中对象的Nodes里面获取所有它的子节点啊\/\/获取此节点TreeNode tn = treeView.SelectedNode;\/\/进行遍历输出foreach (TreeNode Children in tn.Nodes) { MessageBox.Show(string.Format("节点有{0}", Children.Name));} 本回答由电脑网络分类达人 吕明推...

C#实现TreeView节点点击触发事件
在里面添加一个Linkbutton,把LinkButton的值等于你的数据库中的值就OK了.if (!Page.IsPostBack)\/\/在不加这一句之前,每次刷新一下页面,就会多一个树控件出来,一直叠加.加了这一句之后,就不会重复加载了.IsPostBack是一个十分重要的方法,表示页面是否为第一次加载......

如何使鼠标悬停c#的treeview的某个节点后显示该节点描述信息
只要你定义了Node.ToolTipText,并且设置了TreeView控件的ShowNodeToolTips属性为true,就会显示出信息,不需要自行在事件中处理,除非是有比较特殊的需求。希望对你有帮助,还有疑问请追问或是Hi

相似回答