Jas*_*son 6 c# compact-framework windows-ce .net-2.0 winforms
我有一个在Compact Framework上运行的.NET 2.0应用程序.它有许多不同的形式,最初设计为在具有特定屏幕分辨率的特定设备上运行.我现在希望让这个应用程序在其他一些具有非常不同的屏幕分辨率的设备上运行(有些具有完全相反的宽高比,其中屏幕现在高于它的宽度).我的问题是如何在其他屏幕上更改我的表单以使其看起来更好?
这与在完整框架上设计表单略有不同,因为我必须设计这些表单以占据整个屏幕,因为屏幕非常小.我曾考虑为每种类型的屏幕方向创建单独的表单(例如MyForm_Wide.cs,MyForm_Tall.cs等).我希望能够重用非设计器生成的代码,该代码包含许多与UI控件绑定的业务逻辑.也许我可以以某种方式使用部分类来实现这一点(例如,MyForm.cs以某种方式被编译成MyForm_Wide.Designer.cs等).我真的想避免每个屏幕方向的特定编译版本.我想到的另一种方法是尝试根据确定的屏幕大小在运行时重新排列一些控件.
你们有什么感想?
我想我已经弄清楚我想做什么了。由于某种原因,即使在我的高分辨率设备上,根据 WinForms API,DPI 仍然显示为 96,因此自动缩放没有执行任何操作。相反,如果我手动调用Scale控件,我会让它们按照我想要的方式进行扩展。现在,这并不能完全解决我不想进行任何缩放的情况下的问题,但如果屏幕的宽高比与我最初设计的相反,我确实想重新组织我的控件。对于这种情况,我想我将考虑使用不同的布局面板(例如FlowLayoutPanel和TableLayoutPanel)来适当地组织控件。
希望这对未来的 Google 员工有所帮助...