2013-07-14 2 views
0

Как установить в открывшемся окне приложение в качестве окна переднего плана?C# - Установка текущего окна в качестве окна переднего плана

Этот сценарий может быть действительным, если, например, вы должны показать пользователю другое приложение до тех пор, пока не будет выполнено условие, а затем приложите ваше приложение к его/ее фокусу.

ответ

0

Конечно, приведение окна на передний план может быть легко достигнуто с помощью API SetForegroundWindow. Но это связано с использованием пространства имен System.Runtime.InteropServices и, таким образом, включая неуправляемый код в вашем приложении. Более простой подход - это трюк, который я нашел, ища способ сделать это.

Это так же просто, как установка TopMost формы нашей формы на true, а затем сразу же установите ее на false.

Установка его на true определит операционную систему, чтобы показать ее поверх любых других окон, независимо от того, фокусируется она или нет. И затем мы восстанавливаем поведение по умолчанию, установив свойство обратно на false: окно перейдет на задний план, если другое приложение получит фокус, и, таким образом, выйдет на передний план.

Итак, вставьте следующий фрагмент кода везде, где требуется такая функциональность:

this.TopMost = true; 
this.TopMost = false; 

Аккуратный трюк, чтобы сэкономить много строк кода!

0

Просто используйте правильную функцию .NET:

form.Activate(); 

Не используйте TOPMOST вещи, это не нужно.

+0

Это также придало бы ему фокус, поэтому, если вы не возражаете потерять фокус из другого окна. Это должно сработать. –

Смежные вопросы