zoukankan      html  css  js  c++  java
  • 关于MSHTML控件使用的问题

    我们一般在Winform的开发中,需要使用HTML的地方,很多时候,需要用到WebBrowser这个控件,这个控件是引用了MSHTML.dll这个COM类库的,在开发的时候感觉很好,很强大,可是发布给客户的时候,很多时候,就因为这个COM控件,会出现很多令人头痛的问题,因为这个控件导致的问题,也有很多解决方法,但是问题还是经常发生。

    我曾经修改完成过一个HTML Editor的控件(WinForm界面开发之“HTML内容编辑控件” ),用来集成HTML邮件发送的,后来发现在很多使用客户的电脑上,点击该软件后没有反应,或者直接跳出错误对话框,原因就是使用WebBrowser这个控件,而这个控件就是属于MSHTML.dll程序集的,弄了很久也没有能够在虚拟机上(只安装了Dotnet framework2.0),因此不知道究竟哪里出了问题,因为我已经能把网上所有方法都尝试过了,包括把程序集部署到Assembly中,在开发环境中把C:\Program Files\Common Files\Merge Modules\vs_piaredist.exe 拷贝到虚拟机上进行安装,好像也是不行的,郁闷了很久。。。。

    下面是一些解决问题的文章:

    Microsoft.mshtml到底是什么 

    mshtml组件引用的问题 

     

    如果不使用微软这个自带的HTML浏览器控件,那么还有一个代替的选择,就是使用另外一个COM控件,但是相对比较小,不依赖于MSHTML.dll程序集的。

    参考文章地址:http://www.codeproject.com/KB/miscctrl/csEXWB.aspx?msg=2814607#xx2814607xx 

    这个控件很好,不过好像对支持中文有点问题。实现HTML编辑的控件界面是:

    HTMLEditor image - htmleditor.gif 

    其源码地址是在:http://code.google.com/p/csexwb2/downloads/list 上。

    本人在使用中,如果在Edit编辑框中有中文字符,在Edit和Source中切换的时候,如果在Source的选项输入一些其他的字符 ,就会得到乱码,因此也是很麻烦的事情,本来想修改其源码的,发现也是一个C++的源码,实现思路很复杂。

    不过如果我们只是把Source中的HTML作为一个展示,而不做修改的话,那么就不会出现乱码,不过这个不是好的方法,因为我们如果不能修改HTML的话,干脆就只要一个Edit中的HTML编辑页面就得了。

     其他的模仿实现HTML编辑的控件或者程序,总的来说就是界面太丑,功能太简单了,一般是没有什么用处的。

    主要研究技术:代码生成工具、会员管理系统、客户关系管理软件、病人资料管理软件、Visio二次开发、酒店管理系统、仓库管理系统等共享软件开发
    专注于Winform开发框架/混合式开发框架Web开发框架Bootstrap开发框架微信门户开发框架的研究及应用
      转载请注明出处:
    撰写人:伍华聪  http://www.iqidi.com 
        
  • 相关阅读:
    修改css样式+jq中的效果+属性操作+元素操作
    案例1:点击菜单显示相应的图片
    jq容易混淆点
    jQuery中的选择器
    JQ基本
    arguments的使用
    函数方法
    forEach遍历
    数组中常用的方法
    数组 Array
  • 原文地址:https://www.cnblogs.com/wuhuacong/p/1601532.html
Copyright © 2011-2022 走看看