2010-02-26 179 views
3

我有一個當前正在爲Windows Mobile 6設備和CE5設備構建的應用程序。 這些設備上的屏幕不同 - 一個是橫向,另一個是縱向。Windows Mobile屏幕旋轉

我需要在兩個設備上正確顯示應用程序。但想知道什麼是最好的方法來解決這個問題?

1)我應該從Windows.Forms.screens ....找到屏幕方向,然後簡單地爲每個方向創建一個窗體? 2)製作一個具有錨定控件(以某種方式)的表單,因此它的方向無關緊要。 3)微軟有沒有其他方式做到這一點?

該應用程序具有輸出類型的Windows應用程序。

任何想法將不勝感激!

感謝 約翰

+0

我即將遇到同樣的問題,找不到比前兩條建議更好的方法。 – Timores 2010-02-26 12:33:05

+1

您應該將[windowsmobile]標籤更改爲[windows-mobile] – Jared 2010-02-26 18:16:05

+0

@Jared,好評,完成。 – Timores 2010-03-02 10:49:17

回答

1

選項#1(每個可能的解決方案的獨特形式)將使它非常耗時爲你在未來的新解決方案添加了第三個設備的支持。最好的辦法是編寫能夠動態調整控件大小的窗體,以適應各種寬度的屏幕,然後讓它們垂直滾動。不要忘記,您的Windows Mobile用戶可以在使用其中一種表單的過程中從縱向切換到橫向。

0

我的經驗是,試圖動態調整不同的寬高比是非常耗時的,並且會產生太複雜和複雜的代碼。通常你不想只是錨定控件,你想移動位置和佈局。我通常創建一個風景畫面和一個肖像畫面。我經常使用錨定將它們縮放(例如,240x320到480x640),但對於方向使用完全獨立的表單代碼。保持元素名稱相同,並將視圖代碼與演示者分開,並且易於維護和擴展。

+0

你通常如何處理正在進行的方向開關? – Jared 2010-03-05 14:56:05

+0

我不確定我是否理解這個問題。當方向改變時,我換出視圖。它使用相同的演示者,因此具有與模型相同的基礎數據。 – ctacke 2010-03-05 15:08:26