C#操作Word(一)——C#中向Word文档中插入Windows控件

时间:2022-11-28 06:24:47

实例说明

Word是一个功能强大的文字处理软件,在Word文档中可以方便的对文字信息进行排版,也可以向文档中插入生动、直观的图片信息,本实例将会介绍一个有趣的功能,向Word文档中插入Windows控件,并且此控件还可以响应用户事件。比如,向Word文档中插入Button按钮,此按钮也可以响应用户的单击事件。实例运行效果如图1所示。
 C#操作Word(一)——C#中向Word文档中插入Windows控件
图1向Word文档中插入Windows控件
? 关键技术
本实例重点在于向读者介绍怎样使用Controls集合的AddButton方法向文档中插入Windows按钮控件,下面对本实例用到的关键技术进行详细讲解。
  说明:由于实例中使用了Word与Windows控件的互操作技术,所以应当在VS2008中创建Word2003文档实例,具体创建方式请参照本实例中的“设计过程“。
使用Controls集合的AddButton方法可以方便的向Word文档中插入按钮控件。AddButton的语法格式如下:
public Button AddButton(Range range, float width, float height, string name);
AddButton方法中的参数说明如表1所示。
表1 AddButton方法中的参数说明
C#操作Word(一)——C#中向Word文档中插入Windows控件
  说明:实例中介绍了向Word文档中插入Windows控件的方法,当AddButton方法执行后将会向Word文档中插入Button按钮同时还会返回此Button对象的引用,可以通过设置此Button对象的属性和事件来控制Word文档中Button按钮的状态和事件。
? 设计过程
(1)打开Visual Studio 2008开发环境,选择文件菜单中的“新建”/“项目”,此时会弹出“新建项目”窗口,在“新建项目”窗口的“项目类型”中选择“Visual C#”/“Office”,在右侧模板中选择“Word 2003 文档”,并在名称中添写“InsertControl”,并选择项目保存位置,单击确定按钮新建项目。如图2所示。
 C#操作Word(一)——C#中向Word文档中插入Windows控件
图2在VS2008中创建Word 2003 文档
(2)在打开的Word文档中单击鼠标右键选择“查看代码”,在Startup事件中写入代码如下:
private void ThisDocument_Startup(object sender, System.EventArgs e)
{
    Word.Range P_Range1 = this.Paragraphs[1].Range;        //得到文档范围
    Microsoft.Office.Tools.Word.Controls.Button P_btn =        //向文档中添加按钮
        this.Controls.AddButton(P_Range1, 50, 20, "button1");
    P_btn.Text = "Button按钮";             //设置按钮文本
    P_btn.Height = 50;              //设置按钮高度
    P_btn.Width = 100;              //设置按钮宽度
    P_btn.Click += new EventHandler(P_btn_Click);         //添加单击事件
}

                                                              ——摘自《C#编程词典》