C# 公共控件之TreeView

Posted 无声蝉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();

 

以上是关于C# 公共控件之TreeView的主要内容,如果未能解决你的问题,请参考以下文章

c# DataGridView 自定义控件,使之实现行与行之间可以有层次关系,能像TreeView那样展开、合并

C#里treeview如何向指定NAME节点添加子节点?

C# 系统应用之ListView控件 .添加ContextMenuStrip右键菜单打开删除文件

C# 公共控件之 dateTimePicker

C# 公共控件之pictureBox

C# TreeView 控件的综合使用方法