日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C#?TreeView控件使用技巧匯總_C#教程

作者:IC00??????? ? 更新時間: 2022-10-01 編程語言

前言

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生成樹,實現資源的凹入表示法,

原文鏈接:https://juejin.cn/post/7127991872319914020

欄目分類
最近更新