Я использую Windows Vista и С#.net 3.5, но мой друг запускал программу на XP и имел ту же проблему.
Итак, у меня есть программа на С#, которую я запускаю в фоновом режиме со значком в SystemTray. У меня есть крючок клавиатуры низкого уровня, поэтому, когда я нажимаю две клавиши (Ctr + windows в этом случае), он будет тянуть основную форму приложения. Форма задана в полноэкранном режиме в комбинированном режиме:
this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;
Так это в основном работает. Когда я нажимаю CTR + Windows, он отображает форму, независимо от того, какую программу я уделял. Но иногда панель задач по-прежнему появляется над формой, которую я не хочу. Я хочу, чтобы он всегда был полноэкранным, когда я нажимал эту комбинацию клавиш.
Я полагаю, что это имеет какое-то отношение к тому, что изначально было в приложении. Но даже когда я нажимаю на свою основную форму, панель задач иногда остается там. Поэтому я задаюсь вопросом, действительно ли фокус является проблемой. Кажется, что иногда панель задач упряма и не хочет сидеть за моей программой.
У кого-нибудь есть идеи, как я могу это исправить?
EDIT: Подробнее - Я пытаюсь добиться того же эффекта, который имеет веб-браузер, когда вы помещаете его в полноэкранный режим, или когда вы помещаете PowerPoint в режим презентации.
В форме окна вы делаете это, помещая стиль рамки в none и максимизируя окно. Но иногда окно не будет закрывать панель задач по какой-то причине. Половина времени это будет.
Если у меня есть главное окно наверху, остальные будут отставать от него, когда я нажму на него, чего я не хочу, если панель задач скрыта.