Моя WindowsFormsApplication идет позади всего приложения - PullRequest
2 голосов
/ 03 марта 2011

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

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

Ответы [ 2 ]

3 голосов
/ 03 марта 2011

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

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

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

2 голосов
/ 03 марта 2011

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

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

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

...