Windows Forms - Как переместить объект окна, когда есть несколько экранов - PullRequest
0 голосов
/ 14 мая 2018

У меня есть две формы, в основную я помещаю некоторые элементы управления, чтобы скрыть или показать вторичную форму (cronoFrame) в соответствии с выбранным экраном.Вторичная форма установила свойство FormStartPosition как Manual;эта форма создается только один раз, элементы управления, чтобы показать ее и скрыть это поле со списком и флажок, как это:

enter image description here

Я хочу, чтобыв соответствии с выбранным экраном в поле со списком, покажите на нем вторичную форму, когда флажок де установлен.В первый раз все работает нормально, но если я выбираю другой экран, форма отображается на первом выбранном экране, независимо от выбора в поле со списком.

Это метод события для флажка:

    private void chkMostrarPantallaDiscursante_CheckedChanged(object sender, EventArgs e)
    {
        if (chkMostrarPantallaDiscursante.Checked)
        {
            Screen display = displaysDic[cmbDisplays.SelectedItem.ToString()];
            var wa = display.WorkingArea;
            Utilerias.cronoFrame.Left = wa.Left;
            Utilerias.cronoFrame.Top = wa.Top;
            Utilerias.cronoFrame.Width = wa.Width;
            Utilerias.cronoFrame.Height = wa.Height;
            Utilerias.cronoFrame.Show();
        } else
        {
            Utilerias.cronoFrame.Hide();
        }
    }

Выполнение нескольких тестов, единственный способ добиться этого - создавать новый объект вторичной формы каждый раз, когда установлен этот флажок, и удалять форму, если она не выбрана.Но мне нужен тот же объект, а не новый.Любые идеи, чтобы решить это?

...