【问题标题】:Windows Mobile Screen rotationWindows Mobile 屏幕旋转
【发布时间】:2011-01-21 10:35:04
【问题描述】:

我有一个当前正在为 windows mobile 6 设备和 CE5 设备构建的应用程序。 这些设备上的屏幕不同 - 一种是横向的,另一种是纵向的。

我需要在两台设备上都正确显示该应用程序。但想知道解决这个问题的最佳方法是什么?

1) 我是否应该从 Windows.Forms.screens.... 中找到屏幕方向,然后为每个方向创建一个表单? 2)制作一个具有锚定控件(以某种方式)的表单,因此方向无关紧要。 3) 微软有其他方法吗?????

该应用的输出类型为 windows Application。

任何想法将不胜感激!

谢谢 约翰

【问题讨论】:

  • 我即将遇到同样的问题,找不到比您的前 2 条建议更好的方法。
  • 您应该将 [windowsmobile] 标签更改为 [windows-mobile]

标签: c# windows-mobile


【解决方案1】:

选项 #1(每个可能的分辨率的唯一形式)将使您在将来添加对具有新分辨率的第三个设备的支持非常耗时。最好的办法是编写动态调整控件大小以适应各种宽度的屏幕的表单,然后允许它们垂直滚动。不要忘记,您的 Windows Mobile 用户可以在使用您的一种表单的过程中从纵向切换到横向。

【讨论】:

    【解决方案2】:

    我的经验是,尝试动态调整不同的纵横比非常耗时,并且会生成太多复杂和令人费解的代码。通常,您不仅想锚定控件,还想移动位置和布局。我通常创建一个横向屏幕和一个纵向屏幕。我经常使用锚定来让它们缩放(例如 240x320 到 480x640),但对方向使用完全独立的表单代码。保持元素名称相同,并将您的视图代码与演示者分开,并且易于维护和扩展。

    【讨论】:

    • 您通常如何处理正在进行的方向切换?
    • 我不确定我是否理解这个问题。当方向改变时,我换出视图。它使用相同的演示者,因此具有来自模型的相同基础数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多