设计一个WinForm程序,具体要求如下:
界面上有一个树 TreeView 控件和三个按钮,第一个按钮上的文本为添加根节点,第二个按钮上的文本添加子节点,第三个按钮上的文本为删除节点。用鼠标点击增加根节点按钮时,树控件中会增加一个根节点,当鼠标点击增加子节点按钮时,树控件会根据当前节点的位置在当前节点下增加子节点,而用鼠标点击删除按钮时,如果当前节点没有子节点,系统就直接删除该节点,如果当前节点含子节点,则系统提示“当前节点含子节点,无法删除”。
画好界面后添加代码:
public partial class TreeViewForm : Form
{
int RootNodeNum = 2; //记录根节点数
int ClildNodeNum = 6; //记录子节点数
public TreeViewForm()
{
InitializeComponent();
}
private void AddRootNode_Click(object sender, EventArgs e) //添加根节点
{
RootNodeNum++;
treeView.Nodes.Add("根节点" + RootNodeNum.ToString());
}
private void AddChildNode_Click(object sender, EventArgs e) //添加子节点
{
if (this.treeView.SelectedNode != null)
{
ClildNodeNum++;
treeView.SelectedNode.Nodes.Add("子节点" + ClildNodeNum.ToString());
this.treeView.SelectedNode.Expand();
}
else
MessageBox.Show("请选择节点", "提示", MessageBoxButtons.OK);
}
private void DeleteNode_Click(object sender, EventArgs e) //删除节点
{
if (this.treeView.SelectedNode != null)
{
if (this.treeView.SelectedNode.Nodes.Count == 0)
this.treeView.SelectedNode.Remove();
else
MessageBox.Show("当前节点含子节点,无法删除", "提醒", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
MessageBox.Show("请选择要删除的节点", "提示", MessageBoxButtons.OK);
}
}
}