У меня две формы, Form1 и UserControl, в котором размещается Form2. Внутри этого UserControl на Form1 я вызываю Form2.Show();
. Я также пробовал Form2.Show(this);
. В любом случае, внимание не уделяется форме. Мне нужно щелкнуть один раз в новой форме, чтобы придать ей фокус, а затем я могу щелкнуть элементы в этой форме.
Я понял, что управление возвращается к моему основному управлению/форме, и поэтому фокус теряется. Итак, я жду, пока Form2 не закроется через:
while (form2.Visible == true)
{
System.Threading.Thread.Sleep(100);
Application.DoEvents();
}
Кажется, это работает. Однако после того, как я закрою форму, теперь верно обратное. Form1 не получает фокус (даже если я вызываю this.Focus()
), пока я не щелкну один раз в главном окне формы.
Любые идеи, как справиться с этим правильно. Я хочу показать дочернюю форму (немодальную) и сразу же иметь возможность щелкнуть по ней, а когда эта форма будет закрыта, сразу же вернуться к родительской форме.