1. 程式人生 > >C# 公共控制元件之TreeView

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