关于winfrom treeView加载图片点击子项的时候图片发生变化

zzl0223 2016-09-28 11:57:50
我最近在做一个类似评论的模块,我用的是treeView,图片加载没什么问题,可在运行后点击该子项的时候原本的图片却换成了当前用户的图片,不管该条是不是该用户的评论头像都变成该用户的,我没有点击事件更改图片,还有就是怎么将子项的子项的图片设为空,有谁遇到过这种问题给点建议。
...全文
470 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
stherix 2016-09-30
  • 打赏
  • 举报
回复
引用 9 楼 stherix 的回复:
[quote=引用 7 楼 stherix 的回复:] [quote=引用 5 楼 qq_30431839 的回复:] 遇到同样的问题,顶一个,关注
在建立Treeview的时候对每一个TreeNode 都进行这样的操作 如果Treeview不是在你的代码里建立的 那么foreach(var Node in Nodes)进行更改吧[/quote] 在建立玩treeview后 foreach(var node in treeView1.Nodes) { var Node=node as TreeNode; Node.SelectedImageIndex = Node.ImageIndex; }[/quote] treeView1.SelectedImageIndex = treeView1.SelectedNode.Index ; 这句话有问题啊 要改成 treeView1.SelectedImageIndex = treeView1.SelectedNode.ImageIndex吧
zzl0223 2016-09-30
  • 打赏
  • 举报
回复
@9#楼 我现在遇到的问题是选择节点的时候,该节点的图片发生变化,我通过 if (treeView1.SelectedNode.Level == 0) { treeView1.SelectedImageIndex = treeView1.SelectedNode.Index ; } else if (treeView1.SelectedNode.Level == 1) { treeView1.SelectedImageIndex = Convert.ToInt32(treeView1.Nodes[treeView1.SelectedNode.Index - 1].Tag); } 来实现控制,但是遇到一个问题,获得的索引怎么老是上一次选项的索引,为什么不是实时的呢?
stherix 2016-09-30
  • 打赏
  • 举报
回复
引用 7 楼 stherix 的回复:
[quote=引用 5 楼 qq_30431839 的回复:] 遇到同样的问题,顶一个,关注
在建立Treeview的时候对每一个TreeNode 都进行这样的操作 如果Treeview不是在你的代码里建立的 那么foreach(var Node in Nodes)进行更改吧[/quote] 在建立玩treeview后 foreach(var node in treeView1.Nodes) { var Node=node as TreeNode; Node.SelectedImageIndex = Node.ImageIndex; }
zzl0223 2016-09-30
  • 打赏
  • 举报
回复
引用 7 楼 stherix 的回复:
[quote=引用 5 楼 qq_30431839 的回复:] 遇到同样的问题,顶一个,关注
在建立Treeview的时候对每一个TreeNode 都进行这样的操作 如果Treeview不是在你的代码里建立的 那么foreach(var Node in Nodes)进行更改吧[/quote] 怎么更改,能详细说明下吗?
zzl0223 2016-09-30
  • 打赏
  • 举报
回复
解决了,换了一个思路,将treeView1.SelectedImageIndex=0给一个默认的图,相当于选中效果,效果还不错,哈哈
qq_30431839 2016-09-29
  • 打赏
  • 举报
回复
遇到同样的问题,顶一个,关注
stherix 2016-09-29
  • 打赏
  • 举报
回复
引用 5 楼 qq_30431839 的回复:
遇到同样的问题,顶一个,关注
在建立Treeview的时候对每一个TreeNode 都进行这样的操作 如果Treeview不是在你的代码里建立的 那么foreach(var Node in Nodes)进行更改吧
zzl0223 2016-09-29
  • 打赏
  • 举报
回复
我看网上有人说 treenode.SelectedImageIndex = treenode.ImageIndex;可在我这里根本没有作用啊,哪位大哥做过给个建议么,别沉底了撒
zzl0223 2016-09-28
  • 打赏
  • 举报
回复
怎么没人理睬呀
zzl0223 2016-09-28
  • 打赏
  • 举报
回复
我知道问题所在了,不管是点击谁的评论,点击的时候默认的都是 treeView1 .SelectedImageIndex =0,怎么能不让图片发生变化呢,即不管treeView1 .SelectedImageIndex等于多少,我原来加载的图不发生变化了
zzl0223 2016-09-28
  • 打赏
  • 举报
回复
引用 1 楼 u011981242 的回复:
对节点设置下:
treenode.SelectedImageIndex = treenode.ImageIndex;;
还涉及到二级子节点的图像显示问题,不能单纯这么写,ImageIndex我是指定的
  • 打赏
  • 举报
回复
对节点设置下:
treenode.SelectedImageIndex = treenode.ImageIndex;;

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧