private void UpSign(object obj, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { _down = false; _controlStatue = ControlStatue.Def; } }
private void FormSizeControl(object obj, MouseEventArgs e) { if (!_down) { if (e.X < _border) { _form.Cursor = Cursors.SizeWE; _controlStatue = ControlStatue.Left; } else if (e.X > _form.Width - _border) { _form.Cursor = Cursors.SizeWE; _controlStatue = ControlStatue.Right; } else if (e.Y > _form.Height - _border) { _form.Cursor = Cursors.SizeNS; _controlStatue = ControlStatue.Down; } else { _form.Cursor = Cursors.Default; _controlStatue = ControlStatue.Def; } } else { var mid = 0; switch (_controlStatue) { case ControlStatue.Down: mid = Control.MousePosition.Y - _startpPoint.Y + _lastsize.Height; if (mid < MinSize.Height) { return; } _form.Height = mid; break; case ControlStatue.Left: var indent = Control.MousePosition.X - _startpPoint.X; _form.Location = new Point(_formPosition.X + indent, _formPosition.Y); mid = -indent + _lastsize.Width; if (mid < MinSize.Width) { return; } _form.Width = mid; break; case ControlStatue.Right: mid = Control.MousePosition.X - _startpPoint.X + _lastsize.Width; if (mid < MinSize.Width) { return; } _form.Width = mid; break; } } }