首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# TreeView 元件使用入門(三):完整範例——子節點、同層節點、刪除、展開/摺疊

     編輯:關於C語言

完整操作範例:TreeView.cs

結合常用方法,涵蓋新增子節點、同層節點、刪除節點、展開/摺疊。前三項透過右鍵選單,後兩項透過按鈕執行。

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace TreeView完整範例
{
    public class Form1 : Form
    {
        private TreeView treeView1;
        private Button button1, button2, button3;
        private MenuItem menuItem2, menuItem3, menuItem4;
        private ContextMenu contextMenu1;
        private TextBox textBox1;
        private Label label1;
        private Container components = null;

        public Form1() { InitializeComponent(); }

        protected override void Dispose(bool disposing)
        {
            if (disposing && components != null) components.Dispose();
            base.Dispose(disposing);
        }

        private void InitializeComponent() { /* 初始化程式碼略 */ }

        [STAThread] static void Main() { Application.Run(new Form1()); }

        private void AddChildNode()
        {
            if (treeView1.SelectedNode == null)
            { MessageBox.Show("請選擇一個節點"); return; }
            if (textBox1.Text == "") { MessageBox.Show("請輸入節點名稱!"); return; }
            TreeNode tmp = new TreeNode(textBox1.Text);
            treeView1.SelectedNode.Nodes.Add(tmp);
            treeView1.SelectedNode = tmp;
            treeView1.ExpandAll();
        }

        private void AddParent()
        {
            if (treeView1.SelectedNode == null)
            { MessageBox.Show("請選擇一個節點"); return; }
            if (textBox1.Text == "") { MessageBox.Show("請輸入節點名稱!"); return; }
            TreeNode tmp = new TreeNode(textBox1.Text);
            treeView1.SelectedNode.Parent.Nodes.Add(tmp);
            treeView1.ExpandAll();
        }

        private void treeView1_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
                contextMenu1.Show(this, new Point(e.X, e.Y));
        }

        private void button1_Click(object sender, EventArgs e)
        { treeView1.SelectedNode.Expand(); }

        private void menuItem2_Click(object sender, EventArgs e) { AddChildNode(); }
        private void menuItem3_Click(object sender, EventArgs e) { AddParent(); }

        private void menuItem4_Click(object sender, EventArgs e)
        {
            if (treeView1.SelectedNode.Nodes.Count == 0)
                treeView1.SelectedNode.Remove();
            else
                MessageBox.Show("請先刪除子節點!");
        }

        private void button2_Click(object sender, EventArgs e)
        {
            treeView1.SelectedNode = treeView1.Nodes[0];
            treeView1.SelectedNode.ExpandAll();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            treeView1.SelectedNode = treeView1.Nodes[0];
            treeView1.SelectedNode.Collapse();
        }
    }
}

執行畫面

圖01:C# TreeView 完整操作範例執行介面

總結

TreeView 靈活、層次分明、容量大,但程式較繁雜。掌握本文基本操作方法,一般問題應可解決。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved