void handler_MouseLeftDownGlobal(object sender, MouseEventArgGlobal e) { if (!this.ContainsFocus) return; if (this.Cursor == Cursors.SizeWE) this.resizeMode = ResizeMode.H; else if (this.Cursor == Cursors.SizeNS) this.resizeMode = ResizeMode.V; else if (this.Cursor == Cursors.SizeNWSE) this.resizeMode = ResizeMode.B; else this.resizeMode = ResizeMode.N; }
void handler_MouseMoveGlobal(object sender, MouseEventArgGlobal e) { if (!this.ContainsFocus) return; var point = this.ChildPanelControl.PointToClient(MousePosition); switch (this.resizeMode) { case ResizeMode.N: int i = 0; var cur = Cursors.Arrow; if (Math.Abs(point.X - this.ChildPanelControl.Width) < 5 && point.Y < this.ChildPanelControl.Height+5&&point.Y>0) { cur = Cursors.SizeWE; i++; } if (Math.Abs(point.Y - this.ChildPanelControl.Height) < 5&&point.X<this.ChildPanelControl.Width+5&&point.X>0) { cur = Cursors.SizeNS; i++; } if (i == 2) cur = Cursors.SizeNWSE; this.Cursor = cur; break; case ResizeMode.H: int newWidth = point.X; this.ChildPanelControl.Width = newWidth > 10 ? newWidth : 10; break; case ResizeMode.V: int newHeight = point.Y; this.ChildPanelControl.Height = newHeight > 10 ? newHeight : 10; break; case ResizeMode.B: newWidth = point.X; this.ChildPanelControl.Width = newWidth > 10 ? newWidth : 10; newHeight = point.Y; this.ChildPanelControl.Height = newHeight > 10 ? newHeight : 10; break; } }
void handler_MouseLeftUpGlobal(object sender, MouseEventArgGlobal e) { if (!this.ContainsFocus) return; this.resizeMode = ResizeMode.N; }