C# treeViewの指定したノードのみを展開する

  • 作成日 2021.07.24
  • C#
C# treeViewの指定したノードのみを展開する

C#で、Expandを使用して、treeViewの指定したノードのみを展開するサンプルコードを記述してます。

環境

  • OS windows10 pro 64bit
  • Microsoft Visual Studio Community 2019 Version 16.7.1

Expand使い方

Expandを使用すると、treeViewの指定したノードのみ展開することが可能です。

treeView1.Nodes[0].Expand()

サンプルコード

以下は、
「実行」ボタンをクリックすると、treeViewの指定したノードのみ展開する
サンプルコードとなります。

using System;
using System.Windows.Forms;

namespace FormTestApp
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();

            treeView1.BeginUpdate();

            // A 1階層下にA-1
            treeView1.Nodes.Add("A").Nodes.Add("A-1");
            // A 1階層下にA-2
            treeView1.Nodes[0].Nodes.Add("A-2");
            // B 1階層下にB-1 その下にB-1-1
            treeView1.Nodes.Add("B").Nodes.Add("B-1").Nodes.Add("B-1-1");
            // B 1階層下にB-1 その下にB-1-2
            treeView1.Nodes[1].Nodes[0].Nodes.Add("B-1-2");
            // C
            treeView1.Nodes.Add("C");

            treeView1.EndUpdate();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // 指定したノードの一階層のみを展開
            treeView1.Nodes[1].Expand();
        }
    }
}

指定したノードのみが展開されていることが確認できます。

指定した要素のノードを全て展開する場合は「ExpandAll」を使用します。

using System;
using System.Windows.Forms;

namespace FormTestApp
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();

            treeView1.BeginUpdate();

            // A 1階層下にA-1
            treeView1.Nodes.Add("A").Nodes.Add("A-1");
            // A 1階層下にA-2
            treeView1.Nodes[0].Nodes.Add("A-2");
            // B 1階層下にB-1 その下にB-1-1
            treeView1.Nodes.Add("B").Nodes.Add("B-1").Nodes.Add("B-1-1");
            // B 1階層下にB-1 その下にB-1-2
            treeView1.Nodes[1].Nodes[0].Nodes.Add("B-1-2");
            // C
            treeView1.Nodes.Add("C");

            treeView1.EndUpdate();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // 指定した要素のノードを全て展開
            treeView1.Nodes[1].ExpandAll();
        }
    }
}

実行結果