winform 中treeview 展开和折叠首层节点时 切换显示图片,类似qq首层节点那样,点击之后箭头图片改变

 我来答
sdk053
2012-09-03
知道答主
回答量:10
采纳率:0%
帮助的人:8.3万
展开全部
1、首先需要将节点放置图片,图片大小16x16,
2、按照操作Treeview的节点api编程即可,核心在于将图片放置在节点上
追问
我给treeview 添加了一个imagelist ,然后在加载的时候首层和第二层节点(只有两层)都加了图片,现在的问题是首层的向右和向下箭头图片切换不正常,我选的是nodemouseclick 事件,在事件发生时 ,判断节点是否展开来实现单击展开与闭合和图片的切换,单击切换是实现了,但是换图标不行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
儁乂OC
2012-09-06 · 超过17用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:28.4万
展开全部
首先要有ImageList控件与TreeView关联
节点的展开和关闭事件里修改节点的ImageIndex属性
追问
代码贴上,再看看
private TreeNode lastSelNode;//设置一个类变量保存最后选中的那个节点 private void tvShow_AfterSelect(object sender, TreeViewEventArgs e){ if (lastSelNode != null && lastSelNode != e.Node)// && lastSelNode != tvShow.Nodes[0] { lastSelNode.ImageIndex = 0;}else if (lastSelNode != null){lastSelNode.ImageIndex = 1;}lastSelNode = e.Node;e.Node.Expand();}
追答
不用AfterSelect事件
private void tvEmp_AfterExpand(object sender, TreeViewEventArgs e)
{
e.Node.SelectedImageIndex = e.Node.ImageIndex = 0;
}

private void tvEmp_AfterCollapse(object sender, TreeViewEventArgs e)
{
e.Node.SelectedImageIndex = e.Node.ImageIndex = 1;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式