2013-02-12 87 views
0

我使用c#在Windows Mobile 6.5上開發了一個應用程序。 當我嘗試退出應用程序時,窗體的某些部分(窗體的上半部分)仍然在屏幕上。我只能通過重置設備使其消失。Windows Mobile 6在關閉後形成部分剩餘部分

第一張圖片:在關閉應用程序

我應該怎麼才能徹底刪除表格的所有部分做後:關閉應用程序 第二張照片之前?

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

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

+0

編輯顯示圖片。 – jp2code 2013-02-13 15:20:55

回答

1

這是WM6.5的常見問題。

我使用的是使用WM6.5的設備,根據我的經驗,只有在應用程序退出不正確,不乾淨或突然出現時纔會發生這種情況。當我正確地退出應用程序時,沒有任何東西被覆蓋,因爲當應用程序突然退出時(例如,未處理的崩潰,或者停止調試器,我得到的結果與您報告的結果相同。)

要停止它,您需要以確保你正在退出程序乾淨,否則這將持續。

2

你已經寫了一個全屏應用程序,並使用可能的代碼來移動窗體等,使其全屏。有一個全屏窗體的官方方式是要使用SHFullScreen API(儘管它對於開始圖標和菜單欄來說很麻煩,請參閱我的博客)。

要讓WM653知道您已經覆蓋狀態欄,您可以首先使您的表單在退出應用程序之前不覆蓋任務欄。 您可能還會在退出應用程序之前發出ShowWindow(GetDesktopWindow(),SW_NORMAL)。但是,正如Kobunite說的那樣,當你的應用程序沒有正常退出,但在退出和正常清理之前或多或少崩潰時,問題可能也會發生。您可以在退出代碼中添加一些調試日誌,以查看哪些功能或代碼失敗。

+1

要添加到@Kobunite和這個答案,如果代碼調用'Application.Exit()'而不是'Close()'方法,你也可以得到這個。 – jp2code 2013-02-13 15:23:27