webbrowser控件显示word文档

参照某网站上的步骤(http://www.kuqin.com/office/20070909/968.html)
首先,在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);

上一篇:压测软件-Tsung.安装篇


下一篇:实验记录贴 —— 账号同步实验 RTX 和 LDAP(AD域)