winform學習日誌(二十六)----------控制項treeview使用

來源:互聯網
上載者:User

標籤:des   winform   style   blog   class   code   

一:實現功能,獲得選中節點,在選中節點下添加節點,摺疊,展開,刪除,得到選中節點下checked項,選中根節點其下節點也選中,表徵圖。

二:相關代碼
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace TreeView{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        /// <summary>        /// 事件:獲得選中節點的文本        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void btn_nodeText_Click(object sender, EventArgs e)        {            treeView1.HideSelection = false;//將選中的節點顯示為選中的狀態,預設是隱藏顯示狀態            MessageBox.Show(treeView1.SelectedNode.Text);//nodes是節點的集合,每個分支是一個節點        }        /// <summary>        /// 事件:添加節點        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void btn_addNode_Click(object sender, EventArgs e)        {            //treeView1.Nodes.Add("紅馬車");//在根節點添加            //MessageBox.Show(treeView1.Nodes.Count.ToString());//得到根節點的數量            //treeView1.Nodes[0].Nodes[0].Nodes.Add("紅馬車");//在根節點的第0根節點下的第0子節點下添加            //treeView1.Nodes[2].Nodes.Add("紅馬車");//在第2根節點下添加            if (treeView1.SelectedNode != null)//是否被選中            {                treeView1.SelectedNode.Nodes.Add(tb_nodeText.Text);//在選中的子節點下添加                treeView1.ExpandAll();//自動延伸所有的項            }        }        /// <summary>        /// 事件:自動載入        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void Form1_Load(object sender, EventArgs e)        {            treeView1.HideSelection = false;//顯示選中的陰影            treeView1.ExpandAll();//自動延伸所有的項            treeView1.CheckBoxes = true;//顯示選中框            treeView1.Nodes[0].Nodes[1].SelectedImageIndex = 3;            treeView1.Nodes[0].Nodes[1].ImageIndex = 2;        }        /// <summary>        /// 事件:展開全部節點        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void btn_ExpandAll_Click(object sender, EventArgs e)        {            treeView1.ExpandAll();        }        /// <summary>        /// 事件:摺疊全部        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void btn_CollapseAll_Click(object sender, EventArgs e)        {            treeView1.CollapseAll();        }        /// <summary>        /// 事件:展開當前選中的同級子節點        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void btn_expandNow_Click(object sender, EventArgs e)        {            if (treeView1.SelectedNode != null)            {                treeView1.SelectedNode.Expand();                //treeView1.SelectedNode.ExpandAll();//展開當前選中的所有的子節點            }        }        /// <summary>        /// 事件:摺疊當前同級節點        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void btn_CollapseNow_Click(object sender, EventArgs e)        {            if (treeView1.SelectedNode != null)            {                treeView1.SelectedNode.Collapse();            }        }        /// <summary>        /// 事件:刪除節點        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void btn_nodeDelete_Click(object sender, EventArgs e)        {            //treeView1.Nodes[0].Remove();//刪除根節點的第0節點            treeView1.Nodes[0].Nodes[0].Remove();//第0個根節點下的第0個節點        }        /// <summary>        /// 事件:刪除選中的節點        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void btn_deleteSelectNode_Click(object sender, EventArgs e)        {            if (treeView1.SelectedNode != null)            {                treeView1.SelectedNode.Remove();            }        }        /// <summary>        /// 事件:查看選中節點選中的同級項        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void btn_showChecked_Click(object sender, EventArgs e)        {            string str = "選中了:";            if (treeView1.SelectedNode != null)            {                foreach (TreeNode tn in treeView1.SelectedNode.Nodes)                {                    if (tn.Checked == true)                    {                        str += tn.Text;                    }                }                MessageBox.Show(str);            }        }        /// <summary>        /// 事件:選中根節點該節點的子節點也選中        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)//只要有選中就會觸發        {            foreach (TreeNode tn in e.Node.Nodes)            {                tn.Checked = e.Node.Checked;//根節點的選中狀態給子節點            }        }    }}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.