C# winform treeview 节点展开状态的图标设置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# winform treeview 节点展开状态的图标设置相关的知识,希望对你有一定的参考价值。
如何:设置Windows
窗体
TreeView
控件的图标
Windows
窗体
TreeView
控件可在每个节点旁显示图标。图标紧挨着节点文本的左侧。若要显示这些图标,必须使树视图与
ImageList
控件相关联
设置
TreeView
控件的
ImageList
属性为想要使用的现有
ImageList
控件。
这些属性可在设计器中使用“属性”窗口进行设置,也可在代码中设置。
设置节点的
ImageIndex
和
SelectedImageIndex
属性。ImageIndex
属性确定正常和展开状态下的节点显示的图像,
SelectedImageIndex
属性确定选定状态下的节点显示的图像。
这些属性可在代码中设置,或在“树节点编辑器”中设置。若要打开“树节点编辑器”,请单击“属性”窗口中
Nodes
属性旁边的
省略号
按钮
()。
ImageList
myImageList
=
new
ImageList();
myImageList.Images.Add(Image.FromFile("Default.gif"));
myImageList.Images.Add(Image.FromFile("SelectedDefault.gif"));
myImageList.Images.Add(Image.FromFile("Root.gif"));
myImageList.Images.Add(Image.FromFile("UnselectedCustomer.gif"));
myImageList.Images.Add(Image.FromFile("SelectedCustomer.gif"));
myImageList.Images.Add(Image.FromFile("UnselectedOrder.gif"));
myImageList.Images.Add(Image.FromFile("SelectedOrder.gif"));
//
Assign
the
ImageList
to
the
TreeView.
myTreeView.ImageList
=
myImageList;
//
Set
the
TreeView
control's
default
image
and
selected
image
indexes.
myTreeView.ImageIndex
=
0;
myTreeView.SelectedImageIndex
=
1; 参考技术A 如果用的是系统里的图标可以点击treeview控件右上角的三角形"套用格式";
如果你想使用一些自定义的图标可以建一个ImageList添加图标
设置TreeView的ImageList为你的ImageList
然后new
TreeNode的时候注意提示,构造有个ImageIndex添你的Image编号 参考技术B public
void
treetool(treeviewitem
item,int
grade)
if
(grade
<
2
&&
item.items.count
>
0)
for
(int
i
=
0;
i
<
item.items.count;
i++)
treeviewitem
nowitem
=
item.items[i]
as
treeviewitem;
nowitem.isexpanded
=
true;
treetool(nowitem,
grade++);
else
if
(grade
>
2
&&
item.items.count>0)
for
(int
i
=
0;
i
<
item.items.count;
i++)
treeviewitem
nowitem
=
item.items[i]
as
treeviewitem;
nowitem.isexpanded
=
false;
treetool(nowitem,
grade++);
没
winform
不知道
正确性怎么样
大概就这么个意思
用递归的
具体样式什么的
自己改下 参考技术C 建一个ImageList添加图标
设置TreeView的ImageList为你的ImageList
然后new
TreeNode的时候注意提示,构造有个ImageIndex添你的Image编号
winform 中treeview 展开和折叠首层节点时 切换显示图片,类似qq首层节点那样,点击之后箭头图片改变
参考技术A 1、首先需要将节点放置图片,图片大小16x16,2、按照操作Treeview的节点api编程即可,核心在于将图片放置在节点上追问
我给treeview 添加了一个imagelist ,然后在加载的时候首层和第二层节点(只有两层)都加了图片,现在的问题是首层的向右和向下箭头图片切换不正常,我选的是nodemouseclick 事件,在事件发生时 ,判断节点是否展开来实现单击展开与闭合和图片的切换,单击切换是实现了,但是换图标不行
参考技术B 首先要有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;
以上是关于C# winform treeview 节点展开状态的图标设置的主要内容,如果未能解决你的问题,请参考以下文章
C# winform 中展开Treeview节点的问题。。。有分
c#的winform TreeView控件中,展开不同的节点,右边显示不同的内容,该怎么做啊,请帮帮我吧,谢谢~