【技巧】怎樣阻止WindowsMobile的屏幕翻轉

    客戶要求屏幕只橫向顯示,但即使在社區中提了問大家也沒有很方便的直接的解決方案。

    http://topic.csdn.net/u/20100614/16/67381f77-657a-4d8f-b1c6-6bc75b26b3da.html

    而且MSDN上提供的以下解決方案會會拋異常:(在SystemSettings.ScreenOrientation = so這裏)

    http://msdn.microsoft.com/zh-cn/library/microsoft.windowsce.forms.screenorientation(v=VS.80).aspx

 

    冥思苦想了很久,各種方式都實驗了,最終找到了比較折衷的一種方案:利用Timer。

    1. Timer控件的默認間隔爲100毫秒(至少得設置成100毫秒,不然會拋異常)。

    2. 在窗體的Resize事件中,設置Timer.Enable = true。(翻轉時即開始計時)

    3. 在Timer的Tick事件中,通過SystemSettings.Screenorientation判斷當前的屏幕狀態(爲橫或爲豎),如果不是橫向,則設置爲ScreenOrientation.Angle270(或90),並設置Timer.Enable = false。(恢復原方向,停止計時)

    這樣,每次屏幕翻轉的時候就會先轉動一下,接着馬上恢復爲原方向。

發佈了33 篇原創文章 · 獲贊 8 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章