示例#1
0
 protected override void OnMouseDown(DataGridViewCellMouseEventArgs e)
 {
     if (e.Location.X <= base.InheritedStyle.Padding.Left)
     {
         TreeGridNode owningNode = this.OwningNode;
         if (owningNode != null)
         {
             if ((this.IsHaveCheckBox && (e.Location.X > ((base.InheritedStyle.Padding.Left - this.ImageWidth) - this.CheckSize))) && this.DrawCheckBox)
             {
                 if (owningNode._CheckState == CheckState.Unchecked)
                 {
                     owningNode._CheckState = CheckState.Checked;
                 }
                 else
                 {
                     owningNode._CheckState = CheckState.Unchecked;
                 }
                 this._RunCheckLate = true;
                 owningNode.BaseTGV.RefreshCheckStatus(owningNode, true, false);
             }
             else
             {
                 owningNode.BaseTGV.InExpandCollapseMouseCapture = true;
                 if (owningNode.IsExpanded)
                 {
                     owningNode.Collapse();
                 }
                 else
                 {
                     owningNode.Expand();
                 }
             }
         }
     }
 }
示例#2
0
 private void SetChildrenCheckStatus(TreeGridNode node, CheckState pCheckState, bool pChange = false)
 {
     if (node != null)
     {
         if (node.HasChildren || this.VirtualNodes)
         {
             if (pChange)
             {
                 this.InExpandCollapseMouseCapture = true;
                 if (pCheckState == CheckState.Unchecked)
                 {
                     node.Collapse();
                 }
                 else
                 {
                     node.Expand();
                 }
             }
         }
         else
         {
             TreeGridNodeEventBase e = new TreeGridNodeEventBase(node);
             this.OnCheckedChanged(this, e);
         }
         base.Invalidate();
         foreach (TreeGridNode node2 in node.Nodes)
         {
             node2._CheckState = pCheckState;
             this.SetChildrenCheckStatus(node2, pCheckState, pChange);
         }
     }
 }
示例#3
0
 protected override void OnMouseDoubleClick(DataGridViewCellMouseEventArgs e)
 {
     if (e.Location.X > base.InheritedStyle.Padding.Left)
     {
         TreeGridNode owningNode = this.OwningNode;
         if (owningNode != null)
         {
             if (owningNode.HasChildren || owningNode.BaseTGV.VirtualNodes)
             {
                 owningNode.BaseTGV.InExpandCollapseMouseCapture = true;
                 if (owningNode.IsExpanded)
                 {
                     owningNode.Collapse();
                 }
                 else
                 {
                     owningNode.Expand();
                 }
             }
             else
             {
                 if (owningNode._CheckState == CheckState.Unchecked)
                 {
                     owningNode._CheckState = CheckState.Checked;
                 }
                 else
                 {
                     owningNode._CheckState = CheckState.Unchecked;
                 }
                 owningNode.BaseTGV.RefreshCheckStatus(owningNode, true, false);
             }
         }
     }
 }