Example #1
0
        protected override void OnMouseMove(MouseEventArgs aMArgs)
        {
            if (!_Dragging)
            {
                base.OnMouseMove(aMArgs);
                UpdateByCursorPos(aMArgs.Location);
            }
            else
            {
                Point lPoint = this.PointToScreen(aMArgs.Location);

                if (lPoint.Y == 0)
                {
                    if (!_windowInfo.Assigned)
                    {
                        _windowInfo = new _sFormInfo(HostForm);
                    }
                    HostForm.WindowState = FormWindowState.Maximized;
                }
                else
                {
                    if (HostForm.WindowState == FormWindowState.Maximized && lPoint.Y > 24)
                    {
                        // Now restoring window size and position:
                        HostForm.WindowState = FormWindowState.Normal;
                        if (_windowInfo.Assigned)
                        {
                            _windowInfo.RestoreForm(HostForm, lPoint);
                            _windowInfo.Assigned = false;
                        }
                        startDraggingHost(lPoint);
                    }
                    else if (!_windowInfo.Assigned)
                    {
                        updateDragging(lPoint);
                    }
                }
            }
        }