WINFORM中treeView怎么让它只显示父节点的checkbox,不显示子节点的。急急,如能解决分大大给

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WINFORM中treeView怎么让它只显示父节点的checkbox,不显示子节点的。急急,如能解决分大大给相关的知识,希望对你有一定的参考价值。

WINFORM中treeView怎么让它只显示父节点的checkbox,不显示(但不禁用)子节点的。急急,如能解决分大大给

只是根节点的话简单,构造节点的时候设置一下就是了,如果每一个父节点都要这要的话,得遍历一下吧,凡是下面有子节点的就显示,没有子节点的就不显示追问

关键是怎么控件CHECKBOX的显示与隐藏呢

追答

嗯,WinForm要麻烦一些,因为它的节点上没有这个属性,只能设置整个树的CheckBox是否显示,如果你确实需要这样做的话,可以用两个图片来表示,关联到TreeView的StateImageList属性上,然后通过节点的NodeMouseClick事件来切换图片

追问

这个我也用了,但结果是比如我一个父节点有3个节点,我选中一个后,再选第二个时,第一个就双变成没有选中的图标了,它只能选择一个,不能多选。很纠结

追答

是因为你没有保存节点状态的原因吧,用一个泛型集合来存储节点的状态,在点击事件中改变某一节点状态时更新一下集合,应该就可以了

追问

如果可能,能帮我写一个简单的小DEMO吗?我试过用一个Dictionary但没起了作用。

追答

2010能打开吧?我试试

追问

可以,多谢救命547753441好了可以告我,在线等

追答

有点事耽误了,你上百度Hi我吧,没有QQ,给你发过来

追问

给我发547753441@qq.com邮箱吧,我不知道你的百度号是多少

追答

不客气

来自:求助得到的回答
参考技术A 如果你用的是递归,创建父节点时,设置checkbox显示

如果是绑定数据源,则要遍历所有节点,判断非叶子节点,然后设置checkbox显示追问

关键这个属性一下把所有的节点前面都显示出checkbox了,我想只让父节点显示,子节点不显示,应该怎么办呢

追答

我以前做过只设置父节点前面显示的图片和子节点的不一样,这个道理都是一样的,在创建父节点的时候让checkbox显示出就行了

如:TreeNode parentNode = new TreeNode();
然后设置这个parentNode的checkbox显示

除了上面的,也做过判断是否是父节点,改变某些属性的

追问

checkbox显示在winform中能给单个显示设置?

c#winform程序中,左侧放treeview,右侧的显示格式不定该怎么做

我要做个类似OA的。右侧的显示方式要根据树中的节点来决定,可以有文本框增加信息,也可以有datagridview来显示数据。要支持各种操作。我想问,这种变化需要怎么做。。。。。放什么控件。
这不同的页面该怎么做。需要用到用户控件 吗。

使用SplitContainer控件将界面分成两块
在左边放导航,
在变显示对应的界面(有2个方法可以实现)
一:手动写界面(不好注意美观,加载速度慢,技术难度高)
二:在右边加几个容器,在容器内写好界面,点击对应按钮是将对应的容器的.visiable属性改为true;其他的权威false;Dock=fill(填充父容器)
参考技术A 应该是个iframe 根据节点的不同,连接到不同的页面

不同的页面其实就是显示不同的ASPX.
你查下什么是iframe吧.其实一个页面可以显示N个ASPX的
参考技术B 恩,winform的还真不熟悉,不过若是asp.net的,倒是可以参考楼上所说的Iframe.. 参考技术C

使用SplitContainer控件。

参考下图:

以上是关于WINFORM中treeView怎么让它只显示父节点的checkbox,不显示子节点的。急急,如能解决分大大给的主要内容,如果未能解决你的问题,请参考以下文章

c#winform程序中,左侧放treeview,右侧的显示格式不定该怎么做

c#的winform TreeView控件中,展开不同的节点,右边显示不同的内容,该怎么做啊,请帮帮我吧,谢谢~

winform窗体 Treeview控件子节点动态添加图片

TreeView 点击触发父节点子节点的连锁反应选中与取消

c#WINFORM中treeview怎么进行数据绑定

C# winform treeview 节点展开状态的图标设置