treeview 节点前加图片 StateImageList和ImageList的区别

先看效果

先新建窗口,添加一个treeview控件和一个imagelist控件,imagelist控件中添加四个图片

StateImageList

treeviewStateimagelist属性设置为创建的 imagelist1, 发现设计界面树节点前出现了索引为0的图片,但是按F5运行,节点前的图片却不显示

只有同时将checkbox属性改为true,运行时图片才会出来,而且鼠标点击节点前的图片时,图片会在索引0,1之间切换,双击时切到索引为2的图片

ImageList:将treeviewImagelist属性设置为imagelist1

 

设置单个节点的
imageindex(未选中时的图片索引)和selectimageindex(节点选中时的图片索引)

表现正常

分析

对于StateImageList属性MSDN里面解释为“ TreeView CheckBoxes 属性设置为 true而且设置了 StateImageList 属性时,TreeView
中包含的每个 TreeNode 显示来自 StateImageList 的第一和第二幅图像以分别指示未选中或选中状态。 对于没有设置状态图像的节点,应该在将节点添加到 TreeView 之前设置 StateImageList 属性,以防止在设计时显示状态图像。

StateImageList 是表示节点状态的imagelistcheckbox状态变化可以理解为是两张图片,当然也可以用别的图片来替换。

         Imagelist属性MSDN里面解释为“如果 ImageList 属性值不是 null所有树节点都将显示存储在 ImageList 中的第一个 Image 通过设置 ImageIndex SelectedImageIndex 属性可以指定为选定和未选定的节点显示列表中的哪个图像。 单个 TreeNode 对象可以通过设置其 ImageIndex SelectedImageIndex 属性来指定显示哪个图像。 这些个别设置将重写相应 TreeView 属性中的设置。

         大多数情况下,这个属性才时我们需要的。

扩展 

于是,我们能做成这样的效果













转载于:https://my.oschina.net/u/592443/blog/306504

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值