TreeViewからすべてのノードを削除するコードと実行結果を紹介します。
TreeViewのすべてのノードをクリアする場合は、NodesプロパティのClearメソッドを呼び出します。
TreeView.Nodes.Clear();
下図の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イベントはプログラム実行時にTreeViewにノードを追加する処理です。ノードの追加については「ルートノードの追加」や「子ノードの追加」の記事を参照してください。
button1のClickイベントでは、
treeView1.Nodes.Clear();
を呼び出し、TreeViewの要素をすべてクリアします。
プロジェクトを実行します。下図のウィンドウが表示されます。
TreeViewのノードを展開すると下図のように表示されます。
button1を押します。TreeViewのノードが削除され下図の状態になります。