1. 程式人生 > >webbrowser控制元件顯示word文件

webbrowser控制元件顯示word文件

首先,在Visual Studio中建立一個C#語言的Windows應用程式,然後在左側的工具箱中點選滑鼠右鍵,選擇“新增/移除選項”,就能夠開啟自定義工具箱視窗,在視窗中的COM元件列表中,我們就能找到“Microsoft Web Browser”(如果是中文版作業系統,這個控制元件也許叫“Microsoft Web 瀏覽器”)這個ActiveX控制元件,選擇它,把它新增到我們的工具箱中。

將這個ActiveX控制元件直接拖到WinForms窗體上,如下圖。另外,我們還添加了兩個按鈕,用來載入和解除安裝Word文件。

將這個ActiveX控制元件直接拖到WinForms窗體上,如下圖。另外,我們還添加了兩個按鈕,用來載入和解除安裝Word文件。

窗體介面設計如圖:將這個

ActiveX控制元件直接拖到WinForms窗體上,如下圖。另外,我們還添加了兩個按鈕,用來載入和解除安裝Word文件。

在第一個“載入”按鈕的單擊事件程式碼中,我們直接開啟一個Word文件:

Object missing = Type.Missing;

Object sFilePath = "d://hello.doc"; //這裡填寫的是指定文件的地址,可根據具體情況改變,也可使用openfiledialog控制元件提高靈活性

this.axWebBrowser1.NavigateComplete2 += new AxSHDocVw.DWebBrowserEvents2_NavigateComplete2EventHandler(

axWebBrowser1_NavigateComplete2);

this.axWebBrowser1.Navigate2(ref sFilePath, ref missing, ref missing, ref missing, ref missing);

 在上面的程式碼中,我們還給這個控制元件的NavigateComplete2事件添加了一個事件處理方法。NavigateComplete2事件是在控制元件載入Word文件完成後觸發。 程式碼如下:注意要新增office和word引用。

Microsoft.Office.Interop.Word.Application wordApp =  e.pDisp.GetType().InvokeMember("Application", System.Reflection.BindingFlags.GetProperty, null, e.pDisp, null) as Microsoft.Office.Interop.Word.Application;
 Microsoft.Office.Interop.Word.Document doc =  e.pDisp.GetType().InvokeMember("Document", System.Reflection.BindingFlags.GetProperty, null, e.pDisp, null) as Microsoft.Office.Interop.Word. Document; 在第二個解除安裝Word文件的按鈕的事件程式碼中,我們直接讓控制元件訪問一個空頁面即可:

  Object missing = Type.Missing;

 Object sBlankPage = "about:blank";

 this.axWebBrowser1.Navigate2(ref sBlankPage, ref missing, ref missing, ref missing, ref missing);

當我們執行程式時,效果如下: