2009-08-17 3 views
4

У меня есть приложение для Windows Mobile, разработанное с Visual Studio 2008 и C# (проект Smart Device). Когда я запускаю приложение, на панели сверху отображается панель меню «Пуск» и панель клавиатуры внизу. Как заставить приложение запускаться в полноэкранном режиме?Приложение для Windows Mobile в полноэкранном режиме

Если возможно, я хотел бы иметь решение, позволяющее включать и выключать полноэкранный режим во время выполнения (например, нажав кнопку какой-либо формы).

+0

Чтобы скрыть меню Пуск см этот вопрос: http://stackoverflow.com/questions/600735/fullscreen-application-wm6-c –

+0

К сожалению, это решение до сих пор оставляет панель клавиатуры на дне. – RaYell

ответ

6

Легко избавиться от клавиатуры/панели меню: просто удалите элемент MainMenu из каждой формы.

Устранение стартового меню (aka task bar) в верхней части экрана сложнее и требует использования Windows API. This link показывает, как это сделать.

Существует более простой способ сделать ваше приложение полноэкранным (извините, это рано, и я не помню его прямо сейчас), но более простой метод имеет уродливый побочный эффект, когда панель задач на мгновение появляется снова, когда вы переключаете к другой форме в вашей заявке, какой тип убивает желаемый эффект киоска. Использование API, как указано выше, чтобы скрыть панель задач, предотвращает это.

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

+0

Это именно то, что я искал. Благодарю. – RaYell

+0

Если вы не беспокоитесь о том, что панель задач снова появляется при переключении форм, проще всего просто установить WindowState вашей формы на Maximized. – MusiGenesis

2

Проверьте Microsoft example.

Хотя пример для Windows Mobile 2003, вы можете выбрать синтаксис вызова SHFullScreen. Здесь уже извлечен вызов с example.

+0

Это решение для приложения Windows 2003, у которого не было поддержки .NET. Я ищу .NET-решение. – RaYell

+0

@RaYell: Это для Windows Mobile 2003, но оно работает в более поздних версиях (например, Windows Mobile 6). Это правда, что код неуправляемый, но только важная вещь - вызов SHFullScreen. Эта функция вы вызываете путем взаимодействия. –

0

Попробуйте это на вашей основной форме; он может помочь:

this.WindowState = FormWindowState.Maximized; 
+0

Это не работает. Это просто увеличивает окно. – quantum

0

Я тестировал на Windows Mobile 6 Профессиональный эмулятор VGA, он работает. Кнопка пропущена.

this.WindowState = FormWindowState.Maximized; 
this.Menu = null; 
this.ControlBox = false; 
Смежные вопросы