今天练习了一个动态添加更新树的例子,具体实现如下:新建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;
}



}
}


浙公网安备 33010602011771号