Проблемы с доставкой детской формы в центр для максимального родителя - PullRequest
0 голосов
/ 02 октября 2018

У меня есть приложение, которое запускается в развернутом виде, и в его центре должна появиться дочерняя форма для запроса пароля.Однако это работает, только если для свойства WindowState родительского элемента установлено значение Normal.Когда я устанавливаю значение Maximized в моей системе с двумя мониторами, родительская форма отображается на одном экране, а дочерняя форма отображается по центру на втором экране.Кто-нибудь знает, как заставить это работать должным образом, чтобы дочерняя форма отображалась по центру над развернутой родительской формой?

public partial class MyUI : Form
{
    PasswordCheckForm PasswordCheck = null;

    public FactoryTestToolUI()
    {
        InitializeComponent();

        PasswordCheck = new PasswordCheckForm();
        PasswordCheck.StartPosition = FormStartPosition.CenterParent;
        PasswordCheck.Show(this);
    }
}

public partial class PasswordCheckForm : Form
{
    public PasswordCheckForm()
    {
        InitializeComponent();

        this.CenterToParent();
    }
}

1 Ответ

0 голосов
/ 02 октября 2018

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

Location = parentForm.Location;
CenterToScreen();

Вы можете отправить родительскую форму в конструкторе.

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