2009-08-17 22 views
4

Ich habe eine Windows Mobile-Anwendung mit Visual Studio 2008 und C# (Smart Device Project) entwickelt. Wenn ich die Anwendung starte, erscheint eine Startmenüleiste oben und die Tastaturleiste unten. Wie kann ich meine Anwendung im Vollbildmodus ausführen lassen?Windows Mobile-Anwendung im Vollbildmodus

Wenn möglich, würde ich gerne eine Lösung haben, mit der ich den Vollbildmodus zur Laufzeit ein- und ausschalten kann (nach dem Klicken auf einen Formularknopf zum Beispiel).

+0

das Start-Menü auszublenden, diese Frage sehen: http://stackoverflow.com/questions/600735/fullscreen-application-wm6-c –

+0

leider immer noch, dass Lösung Blätter auf der unteren Tastatur-Symbolleiste. – RaYell

Antwort

6

Die Tastatur/Menüleiste unten ist einfach zu entfernen: Entfernen Sie einfach das MainMenu-Steuerelement von jedem Ihrer Formulare.

Das Startmenü (auch Taskleiste genannt) am oberen Bildschirmrand ist schwieriger und erfordert die Verwendung der Windows-API. This link zeigt, wie es geht.

Es gibt einen einfacheren Weg, um Ihre Anwendung im Vollbildmodus zu machen (Entschuldigung, es ist früh und ich erinnere mich nicht daran), aber die einfachere Methode hat einen hässlichen Nebeneffekt, wenn die Taskleiste beim Umschalten wieder erscheint zu einer anderen Form in Ihrer Anwendung, die den gewünschten Kiosk-Effekt tötet. Die Verwendung der API wie oben, um die Taskleiste zu verbergen, verhindert dies.

Es besteht jedoch eine Gefahr für diesen Ansatz: Wenn Ihre Anwendung beendet wird oder abstürzt, ohne die Taskleiste ausgeblendet zu haben, hat Ihr Benutzer keine Möglichkeit, sie zu verbergen, und sie bleibt unsichtbar, bis das Gerät zurückgesetzt wird.

+0

Genau das habe ich gesucht. Vielen Dank. – RaYell

+0

Wenn Sie sich nicht sorgen, dass die Taskleiste beim Wechseln von Formularen wieder angezeigt wird, ist es einfacher, den WindowState Ihres Formulars auf Maximized zu setzen. – MusiGenesis

2

Überprüfen Sie Microsofts example.

Während Beispiel für Windows Mobile 2003 ist, können Sie Syntax von SHFullScreen-Aufruf von dort auswählen. Hier wird bereits mit example Aufruf extrahiert.

+0

Dies ist die Lösung für Windows 2003-Anwendung, die keine .NET-Unterstützung hatte. Ich suche eine .NET Lösung. – RaYell

+0

@RaYell: Dies ist für Windows Mobile 2003, aber es funktioniert auf späteren Versionen (z. B. Windows Mobile 6). Es stimmt, dass Code nicht verwaltet wird, aber nur wichtig ist der Aufruf von SHFullScreen. Diese Funktion rufen Sie über Interop auf. –

0

Versuchen Sie dies auf Ihrem Hauptformular; es könnte helfen:

this.WindowState = FormWindowState.Maximized; 
+0

Dies funktioniert nicht. Es macht nur das Fenster maximiert. – quantum

0

Ich habe auf Windows Mobile 6 Professional VGA-Emulator getestet, es funktioniert. Die Tastaturtaste wird ebenfalls verpasst.

this.WindowState = FormWindowState.Maximized; 
this.Menu = null; 
this.ControlBox = false; 
Verwandte Themen