2009-08-17 26 views
4

私はVisual Studio 2008とC#(スマートデバイスプロジェクト)で開発されたWindows Mobileアプリケーションを持っています。アプリケーションを実行すると、上部に表示されるスタートメニューバーと下部にキーボードバーがあります。アプリケーションをフルスクリーンモードで動作させるにはどうすればよいですか?フルスクリーンモードのWindows Mobileアプリケーション

可能であれば、実行時に(たとえばフォームボタンをクリックした後に)フルスクリーンモードをオン/オフできるようにするためのソリューションが必要です。

+0

この質問を参照、[スタート]メニューを非表示にするには:http://stackoverflow.com/questions/600735/fullscreen-application-wm6-c –

+0

残念ながら、その解決策はまだ底にキーボードツールバーを残しています。 – RaYell

答えて

6

下部のキーボード/メニューバーを削除するのは簡単です。それぞれのフォームからMainMenuコントロールを削除するだけです。

画面の上部にあるスタートメニュー(別名タスクバー)を削除することは難しく、Windows APIを使用する必要があります。 This linkにその方法を示します。

アプリケーションをフルスクリーンにする簡単な方法があります(申し訳ありませんが、早いですが今は思い出せません)。しかし、単純な方法では、切り替えたときにタスクバーが一時的に再現するという醜い副作用がありますあなたのアプリケーション内の別のフォームに、どのような種類のキオスク効果が必要なのでしょうか?上のようにAPIを使用してタスクバーを非表示にすると、これが起こらないようになります。

しかし、このアプローチには危険があります。タスクバーを非表示にすることなくアプリケーションが終了したりクラッシュしたりすると、ユーザーは表示されなくなり、デバイスがリセットされるまで非表示になります。

+0

これはまさに私が探していたものです。ありがとう。 – RaYell

+0

フォームを切り替えるときにタスクバーが再び表示されることを心配していない場合は、フォームのWindowStateをMaximizedに設定するのが簡単な方法です。 – MusiGenesis

2

Microsoftのexampleを確認してください。

例はWindows Mobile 2003用ですが、そこからSHFullScreenコールの構文を選択できます。ここにはすでにexampleとの呼び出しが抽出されています。

+0

これは、.NETをサポートしていなかったWindows 2003アプリケーションのソリューションです。私は.NETソリューションを探しています。 – RaYell

+0

@RaYell:これはWindows Mobile 2003向けですが、それ以降のバージョン(Windows Mobile 6など)でも動作します。コードは管理されていませんが、重要なのはSHFullScreenの呼び出しだけです。 interopによって呼び出す関数です。 –

0

メインフォームでお試しください。それは助けるかもしれません:

this.WindowState = FormWindowState.Maximized; 
+0

これは動作しません。ウィンドウを最大化するだけです。 – quantum

0

私はWindows Mobile 6 Professional VGAエミュレータでテストしました。キーボードのボタンも欠けています。

this.WindowState = FormWindowState.Maximized; 
this.Menu = null; 
this.ControlBox = false; 
関連する問題