Моя WindowsFormsApplication идет позади всего приложения

Я разработал приложение WindowsForms, имеющее стиль формы границы как "FixedToolWindow", теперь проблема заключается в том, что пока я собираюсь свернуть любое другое открытое приложение, тогда мое приложение будет отставать от всех уже открытых приложений. Я не понимаю, где именно проблема. Так может ли кто-нибудь помочь мне выяснить, где проблема и как ее устранить?

Любая помощь будет оценена. Заранее спасибо

2 ответа

Решение

Проблема называется Z order, которая представляет собой внутреннее упорядочение окон сверху вниз, которые появляются на экране, поддерживаемом Windows.

Когда вы нажимаете на это другое приложение, чтобы свернуть его, оно становится "активным" приложением, и его окно перемещается на передний план. Это толкает ваше приложение (которое раньше было окном переднего плана) в фоновый режим, позади другого приложения. Это приводит к тому, что его окно скрыто или скрыто за окном другого приложения. Нажатие на окно вашего приложения снова выведет его на передний план, и оно закроет все окна, которые находятся за ним.

Но в ответ на ваш реальный вопрос, нет, вы не должны были указывать "FixedToolWindow" для BorderStyle главного окна вашего приложения. Окна с таким стилем рамки не отображаются на панели задач и не рассматриваются как главное окно приложения. Этот стиль предназначен для окон инструментов, таких как плавающие палитры, отображаемые в дополнение к главному окну приложения.

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

Поэтому установите для свойства TopMost значение True.

В противном случае, я согласен с Cody Gray, ни одна основная форма не должна иметь стиль границы FixedToolWindow.

Другие вопросы по тегам