void c_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { if (mLastOffset == Point.Empty) { mLastOffset = (new Point(e.X, e.Y)); //StartMove(); return; } else { //Move(e.X,e.Y,mLastOffset.X, mLastOffset.Y); if (this is ISelectable && ((ISelectable)this).IsSelected()) { mHost.MoveSelected(e.X, e.Y, mLastOffset.X, mLastOffset.Y); } else { MoveControl(e.X, e.Y, mLastOffset.X, mLastOffset.Y); } } } }