如何在.Net上处理不同的屏幕分辨率

时间:2012-11-08 17:55:53

标签: .net compact-framework resolution screen-resolution

我需要在我的软件上添加一台分辨率与之前不同的新显示器,但我仍然需要支持。

我在考虑在每个FORM LOAD事件中包含一个开关案例,并根据屏幕分辨率,然后更改表格中包含的所有按钮,表单,对象的大小。

Select case Resolution
    case 800x480
        resizes my controls...
    case 1024x768
        resizes my controls...
end select

该应用程序将在带有紧凑框架3.5的windows ce 6上运行

问题是:

有没有更聪明的方法来处理.NET中的不同分辨率?

2 个答案:

答案 0 :(得分:2)

是的,虽然这取决于您正在使用的用户界面框架。

目标是设计您的界面,以便在不同的分辨率下合理扩展。这可以在Windows窗体中完成,例如,利用AnchorDock属性,而不是使用绝对定位和大小调整。这允许项目在窗口大小改变时“移动”和“缩放”。

答案 1 :(得分:1)

如Reed所建议的,如果他们为你工作,请使用Anchor和Dock。

话虽这么说,如果你的屏幕非常复杂,或者你处理截然不同的设备形状因素,以至于简单地调整控件的大小是不够的,我建议构建你的解决方案/代码,这样你就可以开发单独的屏幕对于每个形状因子并将它们放在运行时加载的卫星程序集中。你的逻辑必须驻留在表单之外才能做到这一点,但无论如何它确实应该存在。