Как отключить родительскую форму, когда активна дочерняя форма? - PullRequest
69 голосов
/ 15 июля 2009

Как отключить родительскую форму, когда дочерняя форма активна с помощью c #?

Ответы [ 13 ]

1 голос
/ 06 октября 2015

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

 frmUserRegistration frmMainMenu = new frmUserRegistration();
    frmMainMenu.ShowDialog(this);
0 голосов
/ 07 января 2018

Если вы просто пытаетесь смоделировать вызов Form.ShowDialog, но БЕЗ блокирования чего-либо (что-то вроде формы смоделированного диалога), вы можете попробовать использовать Form.Show (), и как только вы показываете смоделированную диалоговую форму, немедленно отключите все другие окна используют что-то вроде ...

private void DisableAllWindows()
{
foreach (Form f in Application.OpenForms)
if (f.Name != this.Name)f.Enabled = false;
else f.Focus();
}

Тогда, когда вы закроете "псевдо-диалоговую форму", обязательно позвоните ....

private void EnableAllWindows()
{
foreach (Form f in Application.OpenForms) f.Enabled = true;
}
0 голосов
/ 18 января 2012

Почему бы просто не подождать, пока ребенок закроется. Это больше, чем нужно.

// Execute child process
System.Diagnostics.Process proc = 
    System.Diagnostics.Process.Start("notepad.exe");
proc.WaitForExit();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...