TreeViewからすべてのノードを削除する - C#

TreeViewからすべてのノードを削除します。

方法

TreeViewのすべてのノードをクリアする場合は、
TreeView.Nodes.Clear()
メソッドを呼び出します。

UI

下図のUIを作成します。TreeViewとButtonを配置します。(Buttonは2つ配置してありますが、button1のみ利用します。)

コード

以下のコードを記述します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ClearNode
{
  public partial class FormMain : Form
  {
    public FormMain()
    {
      InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
      TreeNode root = new TreeNode("Root");
      treeView1.Nodes.Add(root);


      TreeNode child = new TreeNode("child1");
      root.Nodes.Add(child);

      for (int i = 0; i < 3; i++) {
        child.Nodes.Add(new TreeNode("subchild" + i.ToString()));
      }

      child = new TreeNode("child2");
      root.Nodes.Add(child);

      for (int i = 0; i < 3; i++) {
        child.Nodes.Add(new TreeNode("subchild" + i.ToString()));
      }

      child = new TreeNode("child3");
      root.Nodes.Add(child);
    
      for (int i = 0; i < 3; i++) {
        child.Nodes.Add(new TreeNode("subchild" + i.ToString()));
      }
    }

    private void button1_Click(object sender, EventArgs e)
    {
      treeView1.Nodes.Clear();
    }
  }
}

解説

Loadイベント
Loadイベントはプログラム実行時にTreeViewにノードを追加する処理です。ノードの追加については「ルートノードの追加」や「子ノードの追加」の記事を参照してください。

button1
button1のClickイベントでは、
  treeView1.Nodes.Clear();
を呼び出し、TreeViewの要素をすべてクリアします。

実行結果

プロジェクトを実行します。下図のウィンドウが表示されます。


TreeViewのノードを展開すると下図のように表示されます。


button1を押します。TreeViewのノードが削除され下図の状態になります。


著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2012-07-10
iPentec all rights reserverd.