1. 程式人生 > >DEV treelist的右鍵選單

DEV treelist的右鍵選單

       private void LayerTreeList_MouseUp(object sender, MouseEventArgs e)
        {
             TreeList myTreeList = sender as TreeList;
            TreeListHitInfo myHitInfo = myTreeList.CalcHitInfo(new Point(e.X, e.Y));         

            TreeListNode myHitNode = myHitInfo.Node;
            if (e.Button == MouseButtons.Right && myHitNode != null)//右鍵
            {
                myTreeList.SetFocusedNode(myHitNode);
                if (!myTreeList.FocusedNode.HasChildren && (myTreeList.FocusedNode.Tag as ObjectLayer).DataType == GlobeDataLayerType.Model)//是資料節點
                {                 
                        if (((myTreeList.FocusedNode.Tag as ObjectLayer).Data as ModelLayer).NightFactor != -1.0f)
                        {
                            this.OpenNightFactor.Enabled = true;                         
                        }
                        else
                        {
                            this.OpenNightFactor.Enabled = false;                          
                        }
                        //TreelistBar.SetPopupContextMenu(myTreeList, TreelistPopuupMenu);//這樣會在任意地方彈出來
                        TreelistPopuupMenu.ShowPopup(MousePosition);                  
                }
                else
                {
                    myTreeList.ContextMenuStrip = null;
                }
            }
        }