1. 程式人生 > >TreeView控制元件的使用和如何新增圖示

TreeView控制元件的使用和如何新增圖示

【其中這是一篇很好的文章,自己新增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;

[email protected];");
            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;