1、初始化控件,添加根节点,子节点
public Form1()
{
InitializeComponent();
InitTreeView();
}
private void InitTreeView()
{
TreeNode parrentNode1 = treeView1.Nodes.Add("父节点1");
parrentNode1.Nodes.Add("子节点1");
parrentNode1.Nodes.Add("子节点2");
TreeNode parrentNode2 = treeView1.Nodes.Add("父节点2");
parrentNode2.Nodes.Add("子节点1");
parrentNode2.Nodes.Add("子节点2");
}
2、添加treeview菜单contextMenuStrip1,contextMenuStrip2 ,右键操作
private void treeView1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
Point ClickPoint = new Point(e.X, e.Y);
int x = e.X;
int y = e.Y;
TreeNode CurrentNode = treeView1.GetNodeAt(ClickPoint);
if (CurrentNode is TreeNode)//判断你点的是不是一个节点
{
treeView1.SelectedNode = CurrentNode;
CurrentNode.ContextMenuStrip = this.contextMenuStrip1;
contextMenuStrip1.Show(MousePosition);
}
else
{
treeView1.ContextMenuStrip = this.contextMenuStrip2;
contextMenuStrip2.Show(MousePosition);
}
}
}
3、菜单操作
private void 添加子节点ToolStripMenuItem_Click(object sender, EventArgs e)
{
treeView1.SelectedNode.Nodes.Add("新节点");
}
private void 删除当前节点ToolStripMenuItem_Click(object sender, EventArgs e)
{
treeView1.SelectedNode.Remove();
}
private void 添加根节点ToolStripMenuItem_Click(object sender, EventArgs e)
{
treeView1.Nodes.Add("父节点");
}
private void 清空ToolStripMenuItem_Click(object sender, EventArgs e)
{
treeView1.Nodes.Clear();
}
private void 重命名ToolStripMenuItem_Click(object sender, EventArgs e)
{
treeView1.LabelEdit = true;//不可缺少
treeView1.SelectedNode.BeginEdit();
}
4、添加 双击节点,编辑重命名
private void treeView_DoubleClick(object sender, EventArgs e)
{
treeView1.LabelEdit = true;//不可缺少
treeView1.SelectedNode.BeginEdit();
}