我有一个客户想要他的旅行申请,他可以更新在线数据库,他不想买笔记本电脑,他想要平板电脑或类似的东西。我不知道也不想为移动设备创建特殊的应用程序,我想创建一个winform,就像我一直以来的目标为pc。平板电脑(我所知道的只是普通电脑?)在我的国家仍然非常昂贵。
是否有一个简单的调整,让winform应用程序在Android平板电脑上运行,或者我必须为它构建一个特殊的应用程序?还有其他方法吗? (我开始为它编写一个网页,但使用winforms会更容易)
答案 0 :(得分:1)
原生WinForms应用程序不能直接在Android(或任何非Windows平台)上运行。您可能希望首先查看MonoDroid移植.NET代码Android(以及Mono一般用于将.NET代码移植到非Windows平台)。
跨平台的成功端口将要求应用程序以非常分离的方式构建。应用程序的抽象部分中的核心业务逻辑应该易于移植,但具体实现(特别是视图和数据/服务访问)将需要针对不同的具体平台进行一些重新实现。因此整体架构需要非常分离和可插拔。
Windows平板电脑是一种选择吗?使用Microsoft的各种新技术(Windows 8,Metro UI等),您可以构建一个针对多个基于Microsoft的平台的应用程序。这可以很容易地满足作为“平板电脑”的要求(如果要求不是更具体的“Android平板电脑”)。但是,它不会是旧的WinForms风格的应用程序。
总的来说,你会发现这个行业一直在稳步地离开WinForms,原因就在于这个原因。它没有移植到其他平台,今天需要各种各样的平台。
答案 1 :(得分:1)
忘记转换我几年前处于类似的位置,我做得更快更轻松,我觉得更聪明。 只需使用漂亮的大型控件进行winform处理对接缩放锚点等,这样它看起来不错,可以与小型智能设备一起使用。
确保在应用中传递一些启动程序参数,并且在传递特殊参数时,而不是打开应用程序的主要典型桌面形式,在全屏中打开新的。
现在棘手的部分在其他地方。我设置了一个小型的Windows 2008 r2服务器,允许在其上运行远程应用程序。
创建一个用户帐户,您将允许访问该服务器,并且仅使用我们所讨论的特定参数访问您的那个应用程序。 (例如,myapp.exe -remote)
他将获得的任何设备可以下载免费的应用程序,如2x rdp或android中的microsoft rdp。与您的服务器建立新连接(如果您没有静态IP,可以使用任何您喜欢的免费ddns)并连接之前使用过的Windows服务器帐户。
此帐户如果已正确设置,只会运行您的应用,并且只显示您所做的新迷你winform ..
最终用户将进行simle点击,并且从他的互联网连接将执行仅与您的应用程序相关联的简单远程桌面。 (路由器配置需要一次)
通过这种方式,您将只保留一个源代码,并且他将具有较低的带宽成本,并且可以在没有数据松散的情况下继续工作,以防断开连接。
我在手机平板电脑和pos系统中使用了多年。它快速稳定,安全易于维护(客户端没有任何东西),你不会浪费数月的时间学习wpf或进行xamarin转换。