Windows Mobile应用程序采用全屏模式

我有一个使用Visual Studio 2008和C#(智能设备项目)开发的Windows Mobile应用程序。 当我运行应用程序时,顶部显示一个开始菜单栏,底部显示键盘栏。 如何让我的应用程序以全屏模式运行?

如果可能的话,我希望有一个解决方案,允许我在运行时打开和关闭全屏模式(例如,在单击某个表单按钮后)。

摆脱底部的键盘/菜单栏很简单:只需从每个表单中删除MainMenu控件即可。

摆脱屏幕顶部的开始菜单(又称任务栏)更加困难,并且需要使用Windows API。 此链接显示了如何执行此操作。

有一种更简单的方法可以让你的应用程序全屏显示(对不起,它已经很早了,我现在还不记得了),但更简单的方法有一个丑陋的副作用,当你切换到另一个表单时,任务栏会暂时重新出现您的应用程序,哪种杀死所需的信息亭效果。 使用上述API隐藏任务栏可防止这种情况发生。

但是,这种方法存在危险:如果您的应用程序在未取消隐藏任务栏的情况下退出或崩溃,则您的用户将无法取消隐藏它,并且在设备重置之前它将保持不可见。

查看Microsoft的示例 。

虽然示例适用于Windows Mobile 2003,但您可以从那里选择SHFullScreen调用的语法。 这里已经通过示例提取了调用。

在主表单上试试这个; 它可能有所帮助:

this.WindowState = FormWindowState.Maximized; 

我测试了Windows Mobile 6 Professional VGA模拟器,它的工作原理。 键盘按钮也错过了。

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