Вызывается WinForm, не фокусируется - PullRequest
0 голосов
/ 05 мая 2020

В форме, вызывающей вторую форму, у меня есть этот код:

this.WindowState = FormWindowState.Minimized;
frmCalledForm frm = new frmCalledForm();
frm.Show();
this.WindowState = FormWindowState.Normal;

И в Load() событии frmCalledForm

this.TopMost = true;
this.BringToFront();
this.Activate();

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

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

Я нашел указанный выше код в этом вопросе SO , и, по-видимому, он работает для него, но по какой-то причине он не работает для меня.

Из-за Комментарий Криса о возврате вызывающей формы в нормальное состояние, я закомментировал эту строку, но оставил строку, минимизируя вызывающую форму.

Помимо того факта, что для пользователя основная форма внезапно исчезнет на его панели задач и оставайтесь там, что явно не способствует хорошему пользовательскому опыту. Но когда я запустил программу с измененным кодом, основная форма перешла на панель задач, а вызванная форма открылась, но по-прежнему не имеет фокуса . Я был очень удивлен, увидев это.

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