zoukankan      html  css  js  c++  java
  • C# treeview右键菜单 设置技巧

    //在NodeMouseClick事件中 再将cms设定成treeview的cms. 这样点空,不会出现右键菜单.      
             //右键菜单
           private void tv_Roots_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
            {
                if (e.Button != MouseButtons.Right) return;
                if (e.Node.Parent == null || e.Node == null) return;
                tv_Roots.SelectedNode = e.Node;
                cmsRouts.Show(tv_Roots, e.X, e.Y);
            }

    //不同节点对应不同右键菜单的实现

       用1个cms. 右键点击树节点时,根据节点类型生成cms的MenuItem项及点击事件

      private void tvOneRoot_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
            {
                if (e.Button != MouseButtons.Right) return;
                if (e.Node == null) return; //无节点
                if (e.Node.Level == 0) return;
                int nodeType = GetNodeTypeByGuid(e.Node.Name);
                tvOneRoot.SelectedNode = e.Node;
                InitcmsOneRout(nodeType);
                cmsOneRout.Show(tvOneRoot, e.X, e.Y);
            }
    
            /// <summary>
            /// 初始化cmsOneRoot 从nodetype
            /// </summary>
            /// <param name="nodetype"></param>
            private void InitcmsOneRout(int nodetype)
            {
                cmsOneRout = new ContextMenuStrip();
                if (nodetype == -1)
                {
                    ToolStripMenuItem tmiEditRoutStation = new ToolStripMenuItem("编辑飞行站点");
                    tmiEditRoutStation.Click += new EventHandler(tmiEditRoutStation_Click);
                    cmsOneRout.Items.Add(tmiEditRoutStation);
                    ToolStripMenuItem tmiMoveRouteStation = new ToolStripMenuItem("更改位置");
                    tmiMoveRouteStation.Click += new EventHandler(tmiMoveRouteStation_Click);
                    cmsOneRout.Items.Add(tmiMoveRouteStation);
                    ToolStripMenuItem tmiDeleRouteStation = new ToolStripMenuItem("删除飞行站点");
                    tmiDeleRouteStation.Click += new EventHandler(tmiDeleRouteStation_Click);
                    cmsOneRout.Items.Add(tmiDeleRouteStation);
                }
                else if (nodetype == 0)
                {
                    ToolStripMenuItem tmiEditRout = new ToolStripMenuItem("编辑飞行段属性");
                    tmiEditRout.Click += new EventHandler(tmiEditRout_Click);
                    cmsOneRout.Items.Add(tmiEditRout);
                    ToolStripMenuItem tmiDeleteRout = new ToolStripMenuItem("删除飞行段");
                    tmiDeleteRout.Click += new EventHandler(tmiDeleteRout_Click);
                    cmsOneRout.Items.Add(tmiDeleteRout);
                }
                else if (nodetype == 1)
                {
     
                }
                else if (nodetype == 2)
                {
    
                }
                else
                {
     
                }
    
            }
    
    void tmiEditRout_Click(object sender, EventArgs e)//编辑飞行段
            {
                string routId = tvOneRoot.SelectedNode.Name;
                RouteParameter rp = GetRouteParaByGuid(routId);
                FrmPointProperty frm = new FrmPointProperty(rp, 0, 1);
                frm.OnRoutInfoUpdated += new FrmPointProperty.DelegateRouteInfoUpdated(frm_OnRoutInfoUpdated);
                frm.ShowDialog();
            }
  • 相关阅读:
    Knowledge point
    Nagios详解(基础、安装、配置文件解析及监控实例)
    配置网络yum源
    springsecurity整合springboot实现简单认证授权
    使用openssl生成rsa密钥对
    springsecurity实现记住我功能
    springsecurity生成图形验证码并校验
    springsecurity开发基于表单的认证--个性化用户认证流程
    springSecurity自定义用户认证逻辑
    关于JWT分析的文章转载
  • 原文地址:https://www.cnblogs.com/imihiroblog/p/2531949.html
Copyright © 2011-2022 走看看