【发布时间】:2013-05-27 02:40:29
【问题描述】:
我继承了一个为触摸屏横向设备设计的现有 Windows 移动应用程序,但现在我需要扩展它以在更小分辨率的纵向设备上工作。解决方案(vs2008)的设置如下:
- 助手项目
- 用户控制项目
- 主程序项目
Helpers 有一些共享代码,例如 DB 连接、错误报告、自定义对象等。用户控件有自定义按钮、自定义小键盘/数字键盘等。主程序是大部分代码的地方,其中包含一个基本表单和几个用户控件充当页面。 “页面”会根据需要显示/隐藏。
我想要的是关于如何使这项工作适用于第二台(纵向)设备以及未来可能出现的任何其他设备的建议。
我最初的想法是将所有可以共享的业务逻辑从主程序转移到帮助程序中,然后添加一个主程序(纵向)项目,其中包含重新设计的表单和用户控件(页面)以用于较小的屏幕。这样,横向和纵向项目可以独立部署。
当我尝试这样做时,我无法从助手访问主程序基本表单。 VS 不允许我在主程序的助手中添加引用。我猜这是由于循环引用。有没有办法可以做到这一点,以便我可以将横向/纵向和表单名称作为参数传递,以了解要定位的项目?纵向版本的功能完全相同,只是显示在较小的屏幕上。
另一个想法是在检测到较小的屏幕时动态调整表单和用户控件的大小,但这似乎冗长而笨重。我不认为使用锚定和停靠是一种选择,因为简单地显示较小版本的横向形式会破坏纵向设备上的可用性。
我已尝试使这个问题尽可能简短,但如果您需要更多信息,请尽管询问。您能提供的任何帮助将不胜感激。
【问题讨论】:
标签: c# winforms visual-studio-2008 windows-mobile compact-framework