C# 公共控件之TreeView

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();
}

猜你喜欢

转载自blog.csdn.net/zhuxipan1990/article/details/83107024