繁体   English   中英

是否可以在Windows CE平台上运行我的Windows窗体应用程序?

[英]Is it possible to run my Windows Form application in Windows CE platform?

我是Windows CE开发的新手,还没有完成它。 在这里需要专家的一些建议。

在我们当前的项目中,我们正在开发客户端 - 服务器应用程序。 客户端使用基于Windows XP操作系统的Windows窗体应用程序,而服务器是基于Web的应用程序。

此问题与客户端应用程序(Windows窗体)有关。 此应用程序使用Sql Server Express Edition进行数据存储。 数据以XML对象格式存储。 它还可以通过Web服务将数据从客户端传输到服务器。 它还可以与磁条读取器,非接触式智能卡读卡器和热敏打印机等硬件进行交互。 硬件设备和系统之间的大多数通信都基于串行端口。 它使用标准app.config进行配置,是一个多线程应用程序。

使用使用Windows CE平台的手持设备有一项新要求。 该手持设备包括所需设备,如非接触式智能卡读卡器,打印机和磁条读取器。 我可以将基于Windows XP的当前应用程序转换为Windows CE,而不是开发新的客户端应用程序吗? 如果是的话,我该怎么做? 如果不是,是否还有其他明智的建议呢?

提前致谢。 软件工程师

是的,可以使用.NET compact框架。

但是,您必须意识到CF是完整.NET平台的一个子集,而CLR的CE版本与桌面版本有不同的限制。

您将能够重用大部分代码,但是您将不得不花费大量时间重新设计UI并更改代码以克服紧凑框架的差异和局限性。

这需要一些努力,但这是可能的。 Windows窗体不等于Windows Mobile,因为Compact Framework只是.NET Framework的一个子集。
此外,您应该注意一些限制,特别是关于内存分配(WinCE限制为32mb要分配给单个应用程序的内存),线程和有限的计算资源(例如,在我公司的应用程序中,进行了一些屏幕更改)通过独立的线程)。

正如其他人所提到的,.NET Compact Framework是最佳选择。

一个有用的提示:为了确定CF是否支持某些内容,MSDN页面上有一个小的手持设备图标,如果您滚动显示“由.NET Compact Framework支持”。 因此,例如,您转到WaitHandle方法,您可以看到支持WaitOne,但不支持WaitAny或WaitAll。 这可以让您更好地了解您可能需要更改多少。

这些API在Windows CE中有很大不同,某些方面可能很容易移植,但可能需要进行大量修改。

这是可能的,但您必须将自己限制在.Net紧凑框架中可用的内容。

此版本的框架旨在用于嵌入式设备和Windows CE。

您正在寻找的数据库技术是SQL Server Compact Edition(又名SQLCE)。

SQL CE数据库实例是本地文件存储上的单个文件(.sdf)(很像旧的Access数据库内容),并且不作为单独的服务运行。 所以一定要整齐地关闭数据库连接(使用finally子句!)。

从简要阅读您的应用程序上下文,我不认为您将有一个巨大的多访问/连接池问题。

关于WinCE上的Windows窗体的烦恼:

  1. sllllooooowwww(图形加速器不可用或其他东西)
  2. 标签不会自动调整大小,只读多文本文本框有时会依赖于它
  3. 按钮上的文字不会自动换行
  4. PictureBoxes不支持动画GIF

当你修改了在你的设备上运行的代码时,你会发现它很难被移植回来,所以期待在你的源代码控制上保持一个新的树...... :(

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM