Windows Mobile 6在关闭后形成一些剩余部分

时间:2013-02-12 15:16:31

标签: c# windows-mobile compact-framework

我使用c#在Windows Mobile 6.5上开发了一个应用程序。 当我尝试退出应用程序时,表单的某些部分(表单的上半部分)仍然在屏幕上。我只能通过重置设备使其消失。

第一张图片:关闭应用程序之前 第二张图:关闭申请后

如何完全删除表单的所有部分,我该怎么做?

http://imageshack.us/photo/my-images/189/13785191.png/

http://imageshack.us/photo/my-images/10/98795567.png/

2 个答案:

答案 0 :(得分:2)

您已经编写了一个全屏应用程序并使用了可能的代码来移动表单等以使其全屏显示。拥有全屏表单的官方方法是使用SHFullScreen API(虽然它有启动图标和菜单栏的错误,请参阅我的博客)。

要让WM653知道您已覆盖状态栏,您可以先退出应用程序之前使表单不覆盖任务栏。 您也可以在退出应用程序之前发出ShowWindow(GetDesktopWindow(),SW_NORMAL)。

但是,正如Kobunite所说,问题也可能发生,当你的应用程序没有正常退出但在退出和正常清理之前或多或少崩溃。您可以在退出代码中添加一些调试日志,以查看哪个函数或代码失败。

答案 1 :(得分:1)

这是WM6.5的常见问题。

我使用的是使用WM6.5的设备,根据我的经验,只有当应用程序被错误地,不正确地或突然地退出时才会发生这种情况。当我正确退出应用程序时,没有任何内容被覆盖在应用程序突然退出的地方(即通过未处理的崩溃,或者通过停止调试器,我得到与您报告的结果相同的结果。

要阻止它发生,你需要确保你干净地退出程序,否则这将会持续存在。