实例说明
Word是一个功能强大的文字处理软件,在Word文档中可以方便的对文字信息进行排版,也可以向文档中插入生动、直观的图片信息,本实例将会介绍一个有趣的功能,向Word文档中插入Windows控件,并且此控件还可以响应用户事件。比如,向Word文档中插入Button按钮,此按钮也可以响应用户的单击事件。实例运行效果如图1所示。
图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方法中的参数说明
说明:实例中介绍了向Word文档中插入Windows控件的方法,当AddButton方法执行后将会向Word文档中插入Button按钮同时还会返回此Button对象的引用,可以通过设置此Button对象的属性和事件来控制Word文档中Button按钮的状态和事件。
? 设计过程
(1)打开Visual Studio 2008开发环境,选择文件菜单中的“新建”/“项目”,此时会弹出“新建项目”窗口,在“新建项目”窗口的“项目类型”中选择“Visual C#”/“Office”,在右侧模板中选择“Word 2003 文档”,并在名称中添写“InsertControl”,并选择项目保存位置,单击确定按钮新建项目。如图2所示。
图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#编程词典》