TreeView控件的使用和如何添加图标

来源:互联网 发布:壁虎老师java视频教程 编辑:程序博客网 时间:2024/05/18 16:54

【其中这是一篇很好的文章,自己添加www】

cnblogs.com/peterzb/archive/2009/06/08/1499131.html


以中国省份和城市为例,对TreeView控件进行阐述,数据库的实例如图所示:

  

数据库Address中,两个表Shengfen和city来个,city表中的shengfenID是shengfen表的外键。

下面我们来展示以下如何将信息展示在TreeView导航控件中。【后台代码】

      private void Form1_Load(object sender, EventArgs e)
        {
            string strSql = "select ID,ShengFen from ShengFen";
            DataView dv = dtView(strSql);

             treeView1.ImageList = imageList1;//【1】图标指示于imagelist
            TreeNode n = new TreeNode();
            n.Text = "中国城市"; //主标题
            this.treeView1.Nodes.Add(n); //添加到TreeView中
            foreach (DataRowView datav in dv)
            {
                TreeNode tn = new TreeNode();              //定义节点
                tn.Text = datav["ShengFen"].ToString();  //将获取到字段转换为文本信息
                tn.Tag = datav["ID"];      //保存的是该节点对应的编号信息

               n.ImageIndex = 2; 【2】哪一个图标
                n.Nodes.Add(tn);           //添加节点【父节点】
                AddChildNodes(tn);      //添加子节点【子节点】
            }
        }
        public DataView dtView(string sql)  //获取数据库表信息
        {
            SqlConnection con = new SqlConnection("server=.;database=Address;uid=sa;pwd=admin@123456;");
            SqlDataAdapter sda = new SqlDataAdapter(sql, con);
            DataTable dt = new DataTable();
            sda.Fill(dt);
            return dt.DefaultView;
        }
        public void AddChildNodes(TreeNode t)  //添加子节点【子节点】
        {
            int ShengFen = Convert.ToInt32(t.Tag.ToString());  //转换节点的ID信息类型
            DataView d = dtView("select * from City where ShengFenID=" + ShengFen);
            foreach (DataRowView datav in d)
            {
                TreeNode node = new TreeNode();//添加实例
                node.Text = datav["City"].ToString();
                node.Tag = datav["ID"];
                t.Nodes.Add(node);
            }
        }

》》》》》》》》》》》

演示效果:



》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

【2】在TreeView控件属性里面也可以实现


【3】转载于百度知道,某网友的回答:说的挺好的:::::

如何:设置 Windows 窗体 TreeView 控件的图标Windows 窗体 TreeView 控件可在每个节点旁显示图标。图标紧挨着节点文本的左侧。若要显示这些图标,必须使树视图与 ImageList 控件相关联设置 TreeView 控件的 ImageList 属性为想要使用的现有 ImageList 控件。 这些属性可在设计器中使用“属性”窗口进行设置,也可在代码中设置。 设置节点的 ImageIndex 和 SelectedImageIndex 属性
(1)ImageIndex 属性确定正常和展开状态下的节点显示的图像, 
(2)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;