首頁 > 軟體

C# TreeView控制元件使用技巧彙總

2022-08-05 18:00:52

前言

TreeView控制元件在表單應用裡面使用也是頻率比較高的,我們在使用TreeView一般是對資源的分層展示,類似資料結構裡面樹的凹入表示法。很多公司都是使用TreeView控制元件作為檔案顯示資訊的分級檢視,如同Windows裡的資源管理器的目錄。TreeView控制元件中的各項資訊都有一個與之相關的Node物件。TreeView顯示Node物件的分層目錄結構,每個Node物件均由一個Label物件和其相關的點陣圖組成。在建立TreeView控制元件後,可以展開和摺疊、顯示或隱藏其中的節點。TreeView控制元件一般用來顯示檔案和目錄結構、檔案中的類層次、索引中的層次和其他具有分層目錄結構的資訊。

1.TreeView控制元件使用

1.1 TreeView控制元件常用的屬性

Index :獲取樹節點在樹節點集合中的位置
Nodes :獲取分配給樹檢視控制元件的樹節點集合
Parent :獲取或設定控制元件的父容器
SelectedNode :獲取或設定當前在樹檢視控制元件中選定的樹節點
ExpandAll :展開所有樹節點
Checked: 獲取或設定一個值,用以指示樹節點是否處於選中狀態
Text :獲取或設定在樹節點標籤中顯示的文字
Expand: 展開樹節點
Clear: 清空樹
Remove :從樹檢視控制元件中移除當前樹節點。

1.2 建立表單檔案並修改名稱

2.設計介面

我們採用簡單案例來實現效果

3.新增和刪除資料

3.1 點選treeView編輯結點

3.2 在TreeView編輯器新增資料

注:我們這裡屬於靜態新增資料,後面做的刪除或者是新增也是靜態的,後面做到刪除是不起作用的

3.3 TreeView控制元件新增根結點操作

注:博主這裡的新增並未新增到資料庫,只是做一個靜態的展示並未靜態寫入treeView,存在記憶體裡結束就釋放了

3.4 TreeView控制元件新增子結點操作

我們需要獲取我們選中的結點判斷它是否為空,不為空就代表有根結點可以新增,沒有就返回選擇我們需要新增子節點。

3.5 TreeView控制元件刪除操作

這裡我們需要判斷我們選擇的結點的父結點是否為空,為空代表這個結點是根結點需要整個刪除,不為空代表為子結點,我們從父結點找到子結點刪除。

3.6 TreeView控制元件清空樹操作

我們這裡直接使用clear進行刪除就可以了。沒有其他操作

4.整體效果展示

4.1程式碼演示

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

namespace TreeTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            TreeNode treeNode = new TreeNode(textBox1.Text, 2, 2);
            treeView1.Nodes.Add(treeNode);
            treeView1.Select();
        }

        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {
            TreeNode selectdnode = treeView1.SelectedNode;
            if(selectdnode!=null)
            {
                TreeNode chnode = new TreeNode(textBox2.Text, 2, 2);
                selectdnode.Nodes.Add(chnode);
                selectdnode.Expand();
                treeView1.Select();
            }
            else
            {
                MessageBox.Show("請選擇需要新增子節點");
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            TreeNode selectnode = treeView1.SelectedNode;
            TreeNode parentnode = selectnode.Parent; 
            if(parentnode == null)
            {
                treeView1.Nodes.Remove(selectnode);
            }
            else
            {
                parentnode.Nodes.Remove(selectnode);
            }
            treeView1.Select();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            treeView1.Nodes.Clear();
        }

        private void button5_Click(object sender, EventArgs e)
        {
            this.textBox1.Clear();
            this.textBox2.Clear();
        }
    }
}

總結

TreeView控制元件講解博主並未使用資料庫進行操作,而是簡單的使用變數來操作,我們在使用資料庫是需要使用結點的深度建立,每一層可能會有一個表,最終到最底層才是我們的資料,我們獲取每層Name生成樹,實現資源的凹入表示法,

到此這篇關於C# TreeView控制元件使用技巧彙總的文章就介紹到這了,更多相關C# TreeView控制元件 內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com