二种将Word文档嵌入到WinForm窗体中方法

作者:袖梨 2022-06-25

Office是我们日常工作中经常用到的办公软件,然而,随着信息技术的飞速发展,已经有越来越多的人使用Word写作文档、使用Excel制做报表、使用OutLook方便的收发电子邮件。一切的操作都是这么轻松,实例中将会介绍怎样使用C#在Form窗体中显示Word文档,运行效果如图1所示。
 
图1  将Word文档嵌入到WinForm窗体中
 关键技术
本实例重点在于向读者介绍怎样使用WebBrowser控件显示Word文档,下面对本实例中所用到的关键技术进行详细讲解。
WebBrowser控件是Windows窗体应用程序的标准控件,使用WebBrowser控件可以在窗体中显示网页信息,通过WebBrowser控件的Navigate方法可以将指定位置的文档加载到WebBrowser控件中,该方法常用的语法格式如下:
public void Navigate(string urlString)
参数说明
 urlString:要加载的文档的URL地址。
  说明:WebBrowser控件也可以加载并显示Excel文件。
 设计过程
(1)打开Visual Studio 2008开发环境,新建一个Windows窗体应用程序,命名为WordInForm。
(2)更改默认窗体Form1的Name属性为Frm_Main,更改Text属性为“将Word文档嵌入到WinForm窗体中”,并向窗体中添加一个MenuStrip菜单控件,向菜单中添加两个菜单项“打开”和“退出”分别用于打开Word文档和退出应用程序;向窗体中添加WebBrowser控件,此控件用于显示Word文档。
(3)程序主要代码如下:

 代码如下复制代码
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
    OpenFileDialog P_GetFile = new OpenFileDialog();       //创建打开文件对话框对象
    DialogResult P_dr = P_GetFile.ShowDialog();        //显示打开文件对话框
    if (P_dr == DialogResult.OK)           //是否单击确定
    {
        WebBrowser.Navigate(P_GetFile.FileName);       //打开Word文档并显示
    }
}

下面看个完整的实例

 代码如下复制代码
 using System;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Data;
 using System.Drawing;
 using System.Linq;
 using System.Text;
 using System.Windows.Forms;
 using Microsoft.Office.Core;
 
 namespace WordInForm
 {
     public partial class Frm_Main : Form
     {
         public Frm_Main()
         {
             InitializeComponent();
         }
 
         private void btn_Get_Click(object sender, EventArgs e)
         {
 
         }
 
         private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
         {
             OpenFileDialog P_GetFile = new OpenFileDialog();//创建打开文件对话框对象
             DialogResult P_dr = P_GetFile.ShowDialog();//显示打开文件对话框
             if (P_dr == DialogResult.OK)//是否点击确定
             {
                 WebBrowser.Navigate(P_GetFile.FileName);//打开Word文档并显示
             }
         }
 
         private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
         {
             this.Close();//关闭当前窗体
         }
     }
 }

Frm_Main.Designer.cs

 代码如下复制代码

namespace WordInForm
 {
     partial class Frm_Main
     {
         ///


 /// 必需的设计器变量。
 ///

         private System.ComponentModel.IContainer components = null;
 
         ///
 /// 清理所有正在使用的资源。
 ///

 /// 如果应释放托管资源,为 true;否则为 false。
         protected override void Dispose(bool disposing)
         {
             if (disposing && (components != null))
             {
                 components.Dispose();
             }
             base.Dispose(disposing);
         }
 
         #region Windows 窗体设计器生成的代码
 
         ///
 /// 设计器支持所需的方法 - 不要
 /// 使用代码编辑器修改此方法的内容。
 ///

         private void InitializeComponent()
         {
             this.menuStrip1 = new System.Windows.Forms.MenuStrip();
             this.文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
             this.打开ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
             this.退出ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
             this.WebBrowser = new System.Windows.Forms.WebBrowser();
             this.menuStrip1.SuspendLayout();
             this.SuspendLayout();
             //
 // menuStrip1
 //
             this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.文件ToolStripMenuItem});
             this.menuStrip1.Location = new System.Drawing.Point(0, 0);
             this.menuStrip1.Name = "menuStrip1";
             this.menuStrip1.Size = new System.Drawing.Size(475, 25);
             this.menuStrip1.TabIndex = 1;
             this.menuStrip1.Text = "menuStrip1";
             //
 // 文件ToolStripMenuItem
 //
             this.文件ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.打开ToolStripMenuItem,
             this.退出ToolStripMenuItem});
             this.文件ToolStripMenuItem.Name = "文件ToolStripMenuItem";
             this.文件ToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
             this.文件ToolStripMenuItem.Text = "文件";
             //
 // 打开ToolStripMenuItem
 //
             this.打开ToolStripMenuItem.Name = "打开ToolStripMenuItem";
             this.打开ToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
             this.打开ToolStripMenuItem.Text = "打开";
             this.打开ToolStripMenuItem.Click += new System.EventHandler(this.打开ToolStripMenuItem_Click);
             //
 // 退出ToolStripMenuItem
 //
             this.退出ToolStripMenuItem.Name = "退出ToolStripMenuItem";
             this.退出ToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
             this.退出ToolStripMenuItem.Text = "退出";
             this.退出ToolStripMenuItem.Click += new System.EventHandler(this.退出ToolStripMenuItem_Click);
             //
 // WebBrowser
 //
             this.WebBrowser.Dock = System.Windows.Forms.DockStyle.Fill;
             this.WebBrowser.Location = new System.Drawing.Point(0, 25);
             this.WebBrowser.MinimumSize = new System.Drawing.Size(20, 20);
             this.WebBrowser.Name = "WebBrowser";
             this.WebBrowser.Size = new System.Drawing.Size(475, 373);
             this.WebBrowser.TabIndex = 2;
             //
 // Frm_Main
 //
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.ClientSize = new System.Drawing.Size(475, 398);
             this.Controls.Add(this.WebBrowser);
             this.Controls.Add(this.menuStrip1);
             this.MainMenuStrip = this.menuStrip1;
             this.Name = "Frm_Main";
             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
             this.Text = "将Word文档嵌入到WinForm窗体中";
             this.menuStrip1.ResumeLayout(false);
             this.menuStrip1.PerformLayout();
             this.ResumeLayout(false);
             this.PerformLayout();
 
         }
 
         #endregion
 
         private System.Windows.Forms.MenuStrip menuStrip1;
         private System.Windows.Forms.ToolStripMenuItem 文件ToolStripMenuItem;
         private System.Windows.Forms.ToolStripMenuItem 打开ToolStripMenuItem;
         private System.Windows.Forms.ToolStripMenuItem 退出ToolStripMenuItem;
         private System.Windows.Forms.WebBrowser WebBrowser;
 
     }
 }

相关文章

精彩推荐