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();
            }
  • 相关阅读:
    《将博客搬至CSDN》
    java-FileUtils(复制文件夹、复制文件、字符串直接写入文件中)(新手)
    java-FileUtils(读取、判断、获取)-(新手)
    一.MySQL入门基础
    二.压缩指令的应用
    一.档案与目录管理
    四.mysql演示银行转账
    三.实例演示insert/update/delect更新数据库
    二.数据库游标对象cursor与实例
    一.数据库连接对象connection
  • 原文地址:https://www.cnblogs.com/imihiroblog/p/2531949.html
Copyright © 2011-2022 走看看