private void updateDragTargetPosition(CTreeNode nodeBefore, CTreeNode nodeAfter) { if (DragTargetPosition.NodeBefore != nodeBefore || DragTargetPosition.NodeAfter != nodeAfter) { DragTargetPosition = new DragTargetPositionClass(null, nodeBefore, nodeAfter); if (nodeBefore == null) { if (DrawStyle == CTreeViewDrawStyle.VerticalDiagram) { dragDropLinePoint1 = new Point(nodeAfter.BoundsSubtree.X - 2, nodeAfter.BoundsSubtree.Y); dragDropLinePoint2 = new Point(nodeAfter.BoundsSubtree.X - 2, nodeAfter.BoundsSubtree.Bottom); } else { dragDropLinePoint1 = new Point(nodeAfter.BoundsSubtree.X, nodeAfter.BoundsSubtree.Y - 2); dragDropLinePoint2 = new Point(nodeAfter.BoundsSubtree.Right, nodeAfter.BoundsSubtree.Y - 2); } } else if (nodeAfter == null) { if (DrawStyle == CTreeViewDrawStyle.VerticalDiagram) { dragDropLinePoint1 = new Point(nodeBefore.BoundsSubtree.Right + 2, nodeBefore.BoundsSubtree.Y); dragDropLinePoint2 = new Point(nodeBefore.BoundsSubtree.Right + 2, nodeBefore.BoundsSubtree.Bottom); } else { dragDropLinePoint1 = new Point(nodeBefore.BoundsSubtree.X, nodeBefore.BoundsSubtree.Bottom + 2); dragDropLinePoint2 = new Point(nodeBefore.BoundsSubtree.Right, nodeBefore.BoundsSubtree.Bottom + 2); } } else { if (DrawStyle == CTreeViewDrawStyle.VerticalDiagram) { int y1 = nodeBefore.BoundsSubtree.Y; int y2 = Math.Max(nodeBefore.BoundsSubtree.Bottom, nodeAfter.BoundsSubtree.Bottom); int x = nodeBefore.BoundsSubtree.Right + IndentWidth / 2; dragDropLinePoint1 = new Point(x, y1); dragDropLinePoint2 = new Point(x, y2); } else { int x1 = nodeBefore.BoundsSubtree.X; int x2 = Math.Max(nodeBefore.BoundsSubtree.Right, nodeAfter.BoundsSubtree.Right); int y = nodeBefore.BoundsSubtree.Bottom + IndentWidth / 2; dragDropLinePoint1 = new Point(x1, y); dragDropLinePoint2 = new Point(x2, y); } } dragDropRectangle = Rectangle.Empty; Refresh(); } }
private void updateDragTargetPosition() { if (DragTargetPosition.NodeDirect != null || DragTargetPosition.NodeBefore != null || DragTargetPosition.NodeAfter != null) { DragTargetPosition = new DragTargetPositionClass(null, null, null); dragDropLinePoint1 = Point.Empty; dragDropLinePoint2 = Point.Empty; dragDropRectangle = Rectangle.Empty; Refresh(); } }
private void updateDragTargetPosition(CTreeNode node) { if (DragTargetPosition.NodeDirect != node) { DragTargetPosition = new DragTargetPositionClass(node, null, null); dragDropRectangle = node.Bounds; dragDropRectangle.Inflate(2, 2); dragDropLinePoint1 = Point.Empty; dragDropLinePoint2 = Point.Empty; Refresh(); } }