【问题标题】:Windows Mobile application in full-screen mode全屏模式下的 Windows Mobile 应用程序
【发布时间】:2010-11-20 04:56:30
【问题描述】:

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

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

【问题讨论】:

标签: c# visual-studio-2008 windows-mobile fullscreen


【解决方案1】:

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

摆脱屏幕顶部的开始菜单(又称任务栏)更加困难,并且需要使用 Windows API。 This link 展示了如何做到这一点。

有一种更简单的方法可以让您的应用程序全屏显示(抱歉,还早,我现在不记得了),但是更简单的方法有一个丑陋的副作用,即当您切换到时任务栏会暂时重新出现应用程序中的另一种形式,这会破坏所需的信息亭效果。使用上述 API 隐藏任务栏可以防止这种情况发生。

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

【讨论】:

  • 这正是我想要的。谢谢。
  • 如果您不担心切换表单时任务栏会短暂重新出现,更简单的方法是将表单的WindowState设置为Maximized。
【解决方案2】:

查看微软的example

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

【讨论】:

  • 这是针对不支持 .NET 的 Windows 2003 应用程序的解决方案。我正在寻找 .NET 解决方案。
  • @RaYell:这适用于 Windows Mobile 2003,但适用于更高版本(例如 Windows Mobile 6)。确实,代码是非托管的,但唯一重要的是调用 SHFullScreen。您通过互操作调用的那个函数。
【解决方案3】:

在你的主窗体上试试这个;它可能会有所帮助:

this.WindowState = FormWindowState.Maximized;

【讨论】:

    【解决方案4】:

    我在 Windows Mobile 6 Professional VGA 模拟器上进行了测试,它可以工作。键盘按钮也不见了。

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

    【讨论】:

      猜你喜欢
      • 2012-01-03
      • 2015-06-28
      • 2018-11-20
      • 2014-10-07
      • 2015-10-23
      • 1970-01-01
      • 1970-01-01
      • 2016-07-16
      • 1970-01-01
      相关资源
      最近更新 更多