Переместить форму назад экран, если его - PullRequest
0 голосов
/ 29 ноября 2018

Я использую это, чтобы показать мою форму на экране:

 Point point = (Control.MousePosition);
                popupControl.Location = point;
                popupControl.Show();

иногда она появляется за пределами экрана. Я могу проверить это с помощью this :

  public static bool IsOnScreen(Control form)
    {
        Screen[] screens = Screen.AllScreens;
        foreach (Screen screen in screens)
        {
            Rectangle formRectangle = new Rectangle(form.Left, form.Top,
                                                     form.Width, form.Height);

            if (screen.WorkingArea.Contains(formRectangle))
            {
                return true;
            }
        }

        return false;
    }

Но как я могу переместить его обратно на экран?

Я хочу, чтобы он находился в ближайшей позиции от первоначальной позиции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...