组合框(Combo Box)是文本框和下拉列表的组合,同时容许编辑者在列表抉择我的项目显示和输出内容。它是 Word 文档中一个十分实用的性能,对于比拟固定的一些数据,如性别、地点,或是几个我的项目的抉择等,用组合框就能够不便数据录入,又容许对于数据的增加。增加组合框可通过代码实现,无需微软 Word 或是其余文档编辑软件,可将代码集成到本人的程序中实现该性能。本文将介绍通过代码实现增加组合框到 Word 文档中的操作方办法。
本文所介绍的办法须要借助收费 Word 库 Free Spire.Doc for .NET,需引入 DLL 文件以及插件到我的项目中应用。
1. 通过 Nuget 引入
1.1 在 Nuget 治理界面中搜寻 FreSpire.Doc 装置。
1.2 在控制台输出以下代码装置。
PM> Install-Package FreeSpire.Doc
2. 手动下载增加 DLL
在 Free Spire.Doc for .NET 官网下载解压文件,而后在我的项目依赖项中增加 DLL 文件。
在 Word 文档中插入组合框
具体操作步骤如下:
- 通过创立 Document 类的对象创立 Word 文档。
- 用 Document.LoadFromFile() 办法从磁盘加载 Word 文档。
- 用 Section.AddParagraph() 办法在文档第一节中增加一个段落。
- 在增加的段落中增加文字并设置字号、字体。
- 通过创立 StructureDocumentTagInline 的对象创立内容控件。
- 用 Paragraph.ChildObjects.Add() 办法将内容控件插入到定位的段落。
- 用 SdtType.ComboBox 属性将内容控件的类型设置为组合框。
- 通过创立 SdtComboBox 的对象创立组合框控件。
- 用 SdtComboBox.ListItems.Add() 办法设置组合框控件的选项。
- f
- 用 SdtComboBox.ListItem[].DisplayText 属性抉择下拉列表第二个选项,并用 SDTContent.ChildObjects.Add(rt) 办法将该选项增加为显示的选项。
- 用 Document.SaveToFile() 办法保存文档。
代码示例:
using System;
using System.Drawing;
using Spire.Doc;
using Spire.Doc.Fields;
using Spire.Doc.Documents;
namespace AddContentControl
{
internal class Program
{static void Main(string[] args)
{
// 创立 Word 文档
Document document = new Document();
// 从磁盘加载 Word 文档
document.LoadFromFile(@"C:\Users\Allen\Desktop\New Microsoft Word Document (2).docx");
// 在文章第一节中增加一个段落
Section section = document.Sections[0];
Paragraph paragraph = section.AddParagraph();
// 在增加的段落中增加文字并设置字号、字体
TextRange text = paragraph.AppendText("组合框控件:");
text.CharacterFormat.FontSize = 14;
text.CharacterFormat.FontName = "微软雅黑";
// 创立内容控件
StructureDocumentTagInline sd = new StructureDocumentTagInline(document);
// 将内容控件插入到创立的段落
paragraph.ChildObjects.Add(sd);
// 将内容控件的类型设置为组合框
sd.SDTProperties.SDTType = SdtType.ComboBox;
// 创立组合框控件
SdtComboBox cb = new SdtComboBox();
// 设置组合框控件的选项
cb.ListItems.Add(new SdtListItem("A"));
cb.ListItems.Add(new SdtListItem("B"));
cb.ListItems.Add(new SdtListItem("C"));
// 将组合框控件插入到后面创立的内容控件
sd.SDTProperties.ControlProperties = cb;
// 将组合框控件设置为显示第二个选项
TextRange rt = new TextRange(document);
rt.Text = cb.ListItems[1].DisplayText;
sd.SDTContent.ChildObjects.Add(rt);
// 保存文档
document.SaveToFile("Output.docx", FileFormat.Docx);
}
}
}
增加成果示意:
本文所应用办法援用的均为收费的 Free Spire.Doc for .NET 中的 DLL。