protected override void OnMouseDown(MouseEventArgs e) { base.OnMouseDown(e); if (Locked) { return; } ObjectCollection selectedObjects = new ObjectCollection(); Designer.SelectedObjects.CopyTo(selectedObjects); FMouseDown = true; FMouseMoved = false; FEventArgs.X = e.X - Offset.X; FEventArgs.Y = e.Y - Offset.Y; FEventArgs.Button = e.Button; FEventArgs.ModifierKeys = ModifierKeys; FEventArgs.Handled = false; if (FMode2 == WorkspaceMode2.None) { // find an object under the mouse for (int i = Designer.Objects.Count - 1; i >= 0; i--) { ComponentBase c = Designer.Objects[i] as ComponentBase; if (c != null) { c.HandleMouseDown(FEventArgs); if (FEventArgs.Handled) { FMode2 = FEventArgs.Mode; break; } } } } else if (FEventArgs.ActiveObject != null) { FEventArgs.ActiveObject.HandleMouseDown(FEventArgs); } if (!selectedObjects.Equals(Designer.SelectedObjects)) { Designer.SelectionChanged(FPageDesigner); } FLastMousePoint.X = FEventArgs.X; FLastMousePoint.Y = FEventArgs.Y; FSelectionRect = new RectangleF(FEventArgs.X, FEventArgs.Y, 0, 0); FGuides.CreateVirtualGuides(); Refresh(); }