Форма не открывается как активное окно - PullRequest
0 голосов
/ 06 декабря 2018

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

Form newLogin = new FormControllers.FrmLogin();
newLogin.StartPosition = FormStartPosition.CenterScreen;
newLogin.Show(this);
newLogin.Focus();
newLogin.TopMost = true;
newLogin.Activate();

Затем этот код я использовал в своей форме входа в систему:

public void activateParent() 
{
    if (this.Owner != null)
    {
        this.Owner.Enabled = true;
    }
}

private void FrmLogin_Activated(object sender, EventArgs e)
{
    if (this.Owner != null)
    {
        this.Owner.Enabled = false;
    }
}

private void FrmLogin_Deactivate(object sender, EventArgs e)
{
    activateParent();
}

private void FrmLogin_FormClosing(object sender, FormClosingEventArgs e)
{
    activateParent();
}

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

1 Ответ

0 голосов
/ 06 декабря 2018

используйте ShowDialog () вместо Show ().

Например

newLogin.ShowDialog()

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

...