У меня есть основная форма 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 была отключена, а форма входа активирована. .
Как этого добиться?
Shown()
вашей формы MDI. - person Jimi   schedule 06.12.2018