关于.NET CF版WebBrowser控件的问题
2011-01-06 10:59:07 来源:WEB开发网最近在做一个以文字内容展现为主的Windows Mobile项目,为了达到最佳的内容展现效果(支持文字、连接和图片混排),又想偷懒,所以决定使用.NET CF自带的WebBrowser控件,完全能满足项目的需求。
一开始基于.NET CF 3.5开发,使用WM6仿真器调试,在WM6.1设备上测试也正常。但是在WM6.5仿真器运行时出问题了,如下图所示:
![](http://tech.cncms.com/tech/UploadPic/201116/20111610598566.jpg)
文字偏大,图片无法显示。经过网上搜索发现.NET CF 3.5的WebBrowser控件在WM6.1.4和WM6.5系统上(含IE6核心浏览器)确实存在兼容性问题,微软官方也发布了相应的KB,需要升级.NET CF 3.5 (版本号:3.5.9198.0)才能解决,而且更新的.NET CF 3.5安装包还不提供下载,而是通过MarketPlace升级。不过我在网络上已经找到了cab包下载。安装了新的.NET CF 3.5版本后确实没有兼容性问题了,可是这种做法对用户来说是不可能接受的。这里有该问题的详细描述。
于是我打算从.NET CF 3.5降级到2.0来开发,在WM6.5仿真器上测试一切正常。
![](http://tech.cncms.com/tech/UploadPic/201116/20111610598816.jpg)
这个问题本应该算是解决了,当我把程序发给客户测试时,在他的HTC Touch HD (WM 6.1, WVGA)上显示又出问题了,文字特别小,而且还出现水平滚动条,即文字不会自动换行。我马上在HTC T3333 (WM6.5, QVGA)上测试,发现另一个极端,文字特别大,大得屏幕只能放得下五个汉字。看到这个情景,我的心都凉了!
![](http://tech.cncms.com/tech/UploadPic/201116/20111610598833.jpg)
把项目升级到.NET CF 3.5后显示正常:
![](http://tech.cncms.com/tech/UploadPic/201116/20111610598383.jpg)
因此我得到的结论是:.NET CF版的WebBrowser控件实在没法用!
于是我开始寻找其他的方案,第一个想到的是OpenNETCF 1.4中WebBrowser控件。OpenNETCF 1.4属于.NET CF 1.0那个时期的产品,由于它的免费和开源,再加上当时的.NET CF 1.0在功能和性能上都不是很完善,所以OpenNETCF一度成为.NET CF应用开发必备的第三方组件。当.NET CF 2.0发布后,功能更加完整,WebBrowser控件也成为了标准控件,OpenNETCF