Форма Windows: Focus and Show не работает должным образом - PullRequest
1 голос
/ 08 июля 2011

У меня есть многопоточное приложение со многими элементами управления и формами. Я зарегистрировал событие, которое вызовет метод Show в форме для отображения. Когда событие происходит впервые, оно выполняет метод Show, но форма не отображается, но теперь, если событие запускается снова (2nd, 3rd, ....), форма отображается.

Я делаю простой звонок frm.Show().


2-я задача

В моем следующем приложении происходит то же самое, но вместо того, чтобы показать, что Фокус не работает в первый раз. Я пробовал следующие свойства:

this.WindowState = FormWindowState.Normal;
this.Focus();
//this.BringToFront();
this.TopMost = true;

1 Ответ

0 голосов
/ 26 августа 2011

Вы вызываете Show () из другого потока, чем тот, в котором была создана форма?В целом элементы управления Windows Forms не являются поточно-ориентированными, а поведение непредсказуемым.Есть несколько способов сделать это, хотя, если нужно.Я рекомендую вам прочитать эту статью MSDN о том, как делать поточно-ориентированные вызовы: Как: выполнять поточно-ориентированные вызовы для элементов управления Windows Forms

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