C#关于TreeView右键控件

来源:互联网 发布:淘宝最低折扣在哪里改 编辑:程序博客网 时间:2024/05/16 01:21

我为了实现一下几点功能:

1.右键点击第一级节点只显示添加分组;如果是第二级节点右键,显示添加好友,如果被点击节点的子节点为0则显示删除分组;右键点击第三级节点的话,只显示删除好友。

2.右键点击TreeView空白处而非TreeNode就显示添加好友(且任何一个TreeNode都不会被选中)。

3.右键点击的时候会被选中,当再次点击其他位置时上一个状态被清除。

        private System.Windows.Forms.TreeView treList;        private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;        private System.Windows.Forms.ToolStripMenuItem mnuAddGroup;        private System.Windows.Forms.ToolStripMenuItem mnuDeleteGroup;        private System.Windows.Forms.ToolStripMenuItem mnuAddNode;        private System.Windows.Forms.ToolStripMenuItem mnuDeleteNode;

        #region NodeMouseClick        private void treList_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)        {            if (e.Button == MouseButtons.Right)            {                               if (e.Node.Level == 0)//如果是第一级节点处右键,只显示添加分组                {                    this.mnuAddGroup.Enabled = true;                    this.mnuDeleteGroup.Enabled = false;                    this.mnuAddNode.Enabled = false;                    this.mnuDeleteNode.Enabled = false;                }                else if (e.Node.Level == 1)//如果是第二级节点右键,显示添加好友。如果被点击节点的子节点为0则显示删除分组                {                    this.mnuAddGroup.Enabled = false;                    this.mnuAddNode.Enabled = true;                    this.mnuDeleteNode.Enabled = false;                    if (e.Node.Nodes.Count == 0)                        this.mnuDeleteGroup.Enabled = true;                    else                        this.mnuDeleteGroup.Enabled = false;                }                else if (e.Node.Level == 2)                {                    this.mnuAddGroup.Enabled = false;                    this.mnuDeleteGroup.Enabled = false;                    this.mnuAddNode.Enabled = false;                    this.mnuDeleteNode.Enabled = true;                }                else                {                    this.mnuAddGroup.Enabled = false;                    this.mnuDeleteGroup.Enabled = false;                    this.mnuAddNode.Enabled = true;                    this.mnuDeleteNode.Enabled = false;                }                this.treList.SelectedNode = e.Node;            }        }        #endregion        #region MouseDown        private void treList_MouseDown(object sender, MouseEventArgs e)        {            if (e.Button == MouseButtons.Left)            {                return;            }            else            {                               if (sender == treList)                {                    this.mnuAddGroup.Enabled = false;                    this.mnuDeleteGroup.Enabled = false;                    this.mnuAddNode.Enabled = true;                    this.mnuDeleteNode.Enabled = false;                    this.treList.SelectedNode = null;                }            }        }        #endregion


原创粉丝点击