今天練習了一個動態添加更新樹的例子,具體實現如下:建立Form應用程式,添加treeview,textbox,以及四個button控制項:
具體代碼如下:
private void button1_Click(object sender, EventArgs e)
{
TreeNode newNode = new TreeNode(this.textBox1.Text,0,0);
this.treeView1.Nodes.Add(newNode);
this.treeView1.Select();
}
private void button2_Click(object sender, EventArgs e)
{
TreeNode selectedNode = this.treeView1.SelectedNode;
if(selectedNode == null)
{
MessageBox.Show(this,"添加子結點之前必須先選中一個根節點。","提示資訊",MessageBoxButtons.OK,MessageBoxIcon.Warning);
return;
}
TreeNode newNode = new TreeNode(this.textBox1.Text,1,1);
selectedNode.Nodes.Add(newNode);
selectedNode.SelectedImageIndex = 1;
selectedNode.Expand();
this.treeView1.Select();
}
private void button3_Click(object sender, EventArgs e)
{
TreeNode selectedNode = this.treeView1.SelectedNode;
if(selectedNode == null)
{
MessageBox.Show(this,"刪除結點之前必須選中一個結點.","提示資訊",MessageBoxButtons.OK,MessageBoxIcon.Warning);
return;
}
TreeNode parentNode = selectedNode.Parent;
if (parentNode == null)
{
this.treeView1.Nodes.Remove(selectedNode);
}
else
{
parentNode.Nodes.Remove(selectedNode);
if(parentNode.Nodes.Count == 0)
{
parentNode.ImageIndex = 1;
parentNode.SelectedImageIndex = 1;
}
}
this.treeView1.Select();
}
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
int str = treeView1.SelectedImageIndex;
//listBox1.Items.Add(str.ToString());
}
private void button4_Click(object sender, EventArgs e)
{
TreeNode selectNode = this.treeView1.SelectedNode;
if(selectNode != null)
{
this.treeView1.SelectedNode.Text = textBox1.Text;
}
}
}