【C#】ツリービューのノードをボタンで追加削除のサンプルコード

C#

この記事では、TreeViewコントロールの下記処理を行うサンプルコードを掲載します。

・ボタンクリックで子ノード追加
・ボタンクリックでノードの削除

細かい部分は調整して自分の作りたい動作にしてください。

準備

フォームにコントロールを配置してください。

・ツリービュー(treeView1)
・ボタン2つ(btnAdd, btnDelete)

サンプルコード

ボタンのイベントハンドラを作成して下記処理を転記してください。
各処理の説明はコメントを参照ください。

using System;
using System.Windows.Forms;

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

            // ツリービューの初期化(GUI上で設定する場合、このメソッド呼び出しは不要)
            InitializeTreeView();
        }

        // ツリービューの初期化(GUI上で設定する場合、このメソッドは不要)
        private void InitializeTreeView()
        {
            // 最上位ノードを2つ追加
            TreeNode rootNode1 = treeView1.Nodes.Add("Root Node 1");
            TreeNode rootNode2 = treeView1.Nodes.Add("Root Node 2");

            // 最上位ノードにそれぞれ子ノードを2つ追加
            rootNode1.Nodes.Add("Child Node 1");
            rootNode1.Nodes.Add("Child Node 2");
            rootNode2.Nodes.Add("Child Node 3");
            rootNode2.Nodes.Add("Child Node 4");

            // ノードの展開
            treeView1.ExpandAll();
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            // 選択されたノードに子ノードを追加
            if (treeView1.SelectedNode != null)
            {
                treeView1.SelectedNode.Nodes.Add("New Child Node");
                treeView1.SelectedNode.Expand();
            }
            else
            {
                MessageBox.Show("ノードを選択してください。");
            }
        }

        private void btnDelete_Click(object sender, EventArgs e)
        {
            // 選択されたノードを削除
            if (treeView1.SelectedNode != null)
            {
                treeView1.Nodes.Remove(treeView1.SelectedNode);
            }
            else
            {
                MessageBox.Show("ノードを選択してください。");
            }
        }
    }
}

実行結果

タイトルとURLをコピーしました