C#?TreeView控件使用技巧匯總
前言
TreeView控件在窗體應(yīng)用里面使用也是頻率比較高的,我們在使用TreeView一般是對資源的分層展示,類似數(shù)據(jù)結(jié)構(gòu)里面樹的凹入表示法。很多公司都是使用TreeView控件作為文件顯示信息的分級視圖,如同Windows里的資源管理器的目錄。TreeView控件中的各項信息都有一個與之相關(guān)的Node對象。TreeView顯示Node對象的分層目錄結(jié)構(gòu),每個Node對象均由一個Label對象和其相關(guān)的位圖組成。在建立TreeView控件后,可以展開和折疊、顯示或隱藏其中的節(jié)點。TreeView控件一般用來顯示文件和目錄結(jié)構(gòu)、文檔中的類層次、索引中的層次和其他具有分層目錄結(jié)構(gòu)的信息。
1.TreeView控件使用
1.1 TreeView控件常用的屬性
Index :獲取樹節(jié)點在樹節(jié)點集合中的位置
Nodes :獲取分配給樹視圖控件的樹節(jié)點集合
Parent :獲取或設(shè)置控件的父容器
SelectedNode :獲取或設(shè)置當(dāng)前在樹視圖控件中選定的樹節(jié)點
ExpandAll :展開所有樹節(jié)點
Checked: 獲取或設(shè)置一個值,用以指示樹節(jié)點是否處于選中狀態(tài)
Text :獲取或設(shè)置在樹節(jié)點標(biāo)簽中顯示的文本
Expand: 展開樹節(jié)點
Clear: 清空樹
Remove :從樹視圖控件中移除當(dāng)前樹節(jié)點。
1.2 創(chuàng)建窗體文件并修改名稱
2.設(shè)計界面
我們采用簡單案例來實現(xiàn)效果
3.添加和刪除數(shù)據(jù)
3.1 點擊treeView編輯結(jié)點
3.2 在TreeView編輯器添加數(shù)據(jù)
注:我們這里屬于靜態(tài)添加數(shù)據(jù),后面做的刪除或者是添加也是靜態(tài)的,后面做到刪除是不起作用的
3.3 TreeView控件添加根結(jié)點操作
注:博主這里的添加并未添加到數(shù)據(jù)庫,只是做一個靜態(tài)的展示并未靜態(tài)寫入treeView,存在內(nèi)存里結(jié)束就釋放了
3.4 TreeView控件添加子結(jié)點操作
我們需要獲取我們選中的結(jié)點判斷它是否為空,不為空就代表有根結(jié)點可以添加,沒有就返回選擇我們需要添加子節(jié)點。
3.5 TreeView控件刪除操作
這里我們需要判斷我們選擇的結(jié)點的父結(jié)點是否為空,為空代表這個結(jié)點是根結(jié)點需要整個刪除,不為空代表為子結(jié)點,我們從父結(jié)點找到子結(jié)點刪除。
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("請選擇需要添加子節(jié)點"); } } 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(); } } }
總結(jié)
TreeView控件講解博主并未使用數(shù)據(jù)庫進行操作,而是簡單的使用變量來操作,我們在使用數(shù)據(jù)庫是需要使用結(jié)點的深度建立,每一層可能會有一個表,最終到最底層才是我們的數(shù)據(jù),我們獲取每層Name生成樹,實現(xiàn)資源的凹入表示法,
到此這篇關(guān)于C# TreeView控件使用技巧匯總的文章就介紹到這了,更多相關(guān)C# TreeView控件 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于c# 類、接口、結(jié)構(gòu)的聯(lián)系與區(qū)別詳解
本篇文章是對c#中類與接口以及結(jié)構(gòu)的聯(lián)系與區(qū)別進行了詳細的分析介紹,需要的朋友參考下2013-06-06舊項目升級新版Unity2021導(dǎo)致Visual?Studio無法使用的問題
在項目開發(fā)過程中,不可避免的會升級開發(fā)工具。這次我在舊項目版本升級到新版Unity2021.2.x時,出現(xiàn)Visual?Studio無法定位等問題,這里我給大家分享下解決方法,舊項目升級新版Unity2021導(dǎo)致Visual?Studio無法使用的問題,需要的朋友可以參考下2021-12-12