程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 關於MSHTML控件使用的問題

關於MSHTML控件使用的問題

編輯:C#入門知識

們一般在Winform的開發中,需要使用HTML的地方,很多時候,需要用到WebBrowser這個控件,這個控件是引用了MSHTML.dll這個COM類庫的,在開發的時候感覺很好,很強大,可是發布給客戶的時候,很多時候,就因為這個COM控件,會出現很多令人頭痛的問題,因為這個控件導致的問題,也有很多解決方法,但是問題還是經常發生。

我曾經修改完成過一個HTML Editor的控件(WinForm界面開發之“HTML內容編輯控件” ),用來集成HTML郵件發送的,後來發現在很多使用客戶的電腦上,點擊該軟件後沒有反應,或者直接跳出錯誤對話框,原因就是使用WebBrowser這個控件,而這個控件就是屬於MSHTML.dll程序集的,弄了很久也沒有能夠在虛擬機上(只安裝了Dotnet framework2.0),因此不知道究竟哪裡出了問題,因為我已經能把網上所有方法都嘗試過了,包括把程序集部署到Assembly中,在開發環境中把C:Program FilesCommon FilesMerge Modulesvs_piaredist.exe 拷貝到虛擬機上進行安裝,好像也是不行的,郁悶了很久。。。。

mshtml組件引用的問題

下面是一些解決問題的文章:

 

參考文章地址:

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編輯的控件或者程序,總的來說就是界面太丑,功能太簡單了,一般是沒有什麼用處的。

 

如果不使用微軟這個自帶的HTML浏覽器控件,那麼還有一個代替的選擇,就是使用另外一個COM控件,但是相對比較小,不依賴於MSHTML.dll程序集的。

    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved