Winform 中使用treeview控件,treeview控件会默认选择最后一个有子节点的节点,怎么解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Winform 中使用treeview控件,treeview控件会默认选择最后一个有子节点的节点,怎么解决相关的知识,希望对你有一定的参考价值。

Winform 中使用treeview控件,控件有很多节点,有的节点含有子节点有的没有,现在要单击一个button按钮实现单击一下选中的节点就上移或者下移一次!怎样保证每次单击按钮,treeview的选中节点始终是第一次选中的那个,不用重新选(单击按钮后重新绑定一次treeview的数据,节点编号变化,内容上移或者下移),treeview的节点默认选择机制是怎么样子的,求真正懂得大神指导,问题解决了可以追加分数

设置一个变量记录第一次选中的节点信息,然后强行指定单击按钮后的选中节点为该节点 参考技术A 上次选哪个要手工保存,比如通过Settings或者写文件等。

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

Treeview控件通过后台访问数据库显示出所有节点信息,后台数据表中其中有一列是存放的图片名称,然后想通过走绝对路径去显示相应的图片,不知道该怎么去做了。在网上搜了很多说用ImageList控件,我也用了,但不知道是自己不会用还怎么回事,最终没有达到自己想要的结果。本人在这方面相当于一个初学者,还望各位高手不吝赐教。谢谢!!下面是我写部分代码的思路:
for (int x = 0; x < tb.Rows.Count; x++)

TreeNode childNode = new TreeNode();
childNode.Text = tb.Rows[x]["us_name"].ToString();
图片绑定代码
node.Nodes.Add(childNode);

树节点的图片要通过imageList 里面的图片才能获得,可以是键值,也可以是索引。我给你个例子。

稍微修改下,你就能用。你可以把Button里面代码包装成一个函数,就可以去添加了

控件就是界面的

后台代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication2

    public partial class Form1 : Form
   
        public Form1()
       
            InitializeComponent();
            this.treeView1.ImageList = imagelist;
          
       
        ImageList imagelist = new ImageList();     
        private void button1_Click(object sender, EventArgs e)
       
            try
           
                string filename = this.textBox1.Text.Trim();
                string key = this.textBox2.Text.Trim();
                Image im = Image.FromFile(filename);
                imagelist.Images.Add(key,im);
                string name = this.textBox3.Text.Trim();
                TreeNode tn = new TreeNode(name);
                tn.ImageKey = key;
                this.treeView1.Nodes.Add(tn);
           
            catch
           

           
       
        private void Form1_Load(object sender, EventArgs e)
       

       
   

参考技术A 思路是先将图片放入ImagesList,然后将它作为属性分配给TreeView控件,然后在某个TreeNode节点上指定所需图片的索引下标本回答被提问者采纳

以上是关于Winform 中使用treeview控件,treeview控件会默认选择最后一个有子节点的节点,怎么解决的主要内容,如果未能解决你的问题,请参考以下文章

winform 中Treeview控件怎样选中父节点时子节点全部展开,选中其他父节点时原先展开的关闭

WinForm控件TreeView 只部分节点显示 CheckBox

winForm树形菜单,除了用TreeView还有其他的控件吗?

Winform中Treeview控件失去焦点,如何将选择的节点还设置为高亮显示?

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

C#如何在treeview控件winform的所有父子节点中搜索文本