FormField

FormField class

代表单个表单字段。

要了解更多信息,请访问使用表单字段文档文章。

public class FormField : SpecialChar

特性

姓名描述
CalculateOnExit { get; set; }如果在退出指定表单字段时自动更新对字段的引用,则为 True。
CheckBoxSize { get; set; }获取或设置复选框的大小(以磅为单位)。仅在以下情况下有效:IsCheckBoxExactSize真的.
Checked { get; set; }获取或设置复选框表单字段的选中状态。 此属性的默认值为错误的.
CustomNodeId { get; set; }指定自定义节点标识符。
Default { get; set; }获取或设置复选框表单字段的默认值。 此属性的默认值为错误的.
virtual Document { get; }获取此节点所属的文档。
DropDownItems { get; }提供对下拉表单字段项目的访问。
DropDownSelectedIndex { get; set; }获取或设置指定下拉表单字段中当前选定项的索引。
Enabled { get; set; }如果表单字段已启用,则为真。
EntryMacro { get; set; }返回或设置表单字段的入口宏名称。
ExitMacro { get; set; }返回或设置表单字段的退出宏名称。
Font { get; }提供对此对象的字体格式的访问。
HelpText { get; set; }返回或设置当表单字段具有焦点并且用户按下 F1 时显示在消息框中的文本。
IsCheckBoxExactSize { get; set; }获取或设置布尔值,指示文本框的大小是自动的还是明确指定的。
virtual IsComposite { get; }返回真的如果此节点可以包含其他节点。
IsDeleteRevision { get; }如果在启用更改跟踪的情况下在 Microsoft Word 中删除了此对象,则返回 true。
IsFormatRevision { get; }如果在启用更改跟踪的情况下 Microsoft Word 中的对象格式发生更改,则返回 true。
IsInsertRevision { get; }如果在启用更改跟踪的情况下将此对象插入 Microsoft Word,则返回 true。
IsMoveFromRevision { get; }返回真的如果在启用更改跟踪的情况下在 Microsoft Word 中移动(删除)此对象。
IsMoveToRevision { get; }返回真的如果在启用更改跟踪的情况下在 Microsoft Word 中移动(插入)此对象。
MaxLength { get; set; }文本字段的最大长度。长度不受限制时,为零。
Name { get; set; }获取或设置表单字段名称。
NextSibling { get; }获取紧随此节点之后的节点。
override NodeType { get; }返回FormField.
OwnHelp { get; set; }指定当表单字段具有焦点并且用户按下 F1 时显示在消息框中的文本的来源。
OwnStatus { get; set; }指定当表单字段具有焦点时在状态栏中显示的文本的来源。
ParentNode { get; }获取此节点的直接父节点。
ParentParagraph { get; }检索父级Paragraph此节点的。
PreviousSibling { get; }获取此节点前一个节点。
Range { get; }返回Range表示此节点中包含的文档部分的对象。
Result { get; set; }获取或设置表示此表单字段结果的字符串。
StatusText { get; set; }返回或设置当表单字段具有焦点时在状态栏中显示的文本。
TextInputDefault { get; set; }获取或设置文本表单字段的默认字符串或计算表达式。
TextInputFormat { get; set; }返回或设置文本表单字段的文本格式。
TextInputType { get; set; }获取或设置文本表单字段的类型。
Type { get; }返回表单字段类型。

方法

姓名描述
override Accept(DocumentVisitor)接受访客。
Clone(bool)创建节点的副本。
GetAncestor(NodeType)获取指定的第一个祖先NodeType.
GetAncestor(Type)获取指定对象类型的第一个祖先。
override GetText()获取此节点代表的特殊字符。
NextPreOrder(Node)根据前序树遍历算法获取下一个节点。
PreviousPreOrder(Node)根据前序树遍历算法获取前一个节点。
Remove()将自身从父级中移除。
RemoveField()删除整个表单字段,而不仅仅是表单字段特殊字符。
SetTextInputValue(object)应用指定的文本格式TextInputFormat并将值存储在Result.
ToString(SaveFormat)将节点的内容导出为指定格式的字符串。
ToString(SaveOptions)使用指定的保存选项将节点内容导出为字符串。

评论

Microsoft Word 提供以下表单字段:复选框、文本输入和下拉菜单(组合框)。

FormField是内联节点,并且只能是Paragraph

FormField在文档中用特殊字符 and 表示,该字符位于文本行内的字符内。

Word 文档中完整的表单字段是一个复杂的结构,由多个 节点表示:字段起始、字段代码(例如 FORMTEXT)、表单字段数据、字段分隔符、 字段结果、字段结束和一个书签。要以编程方式在 Word 文档中创建表单字段,请使用 InsertCheckBox, InsertTextInputand InsertComboBoxwhich 确保所有表单字段节点都按照正确的顺序并处于合适的状态创建。

例子

展示如何格式化整个 FormField,包括字段值。

Document doc = new Document(MyDir + "Form fields.docx");

FormField formField = doc.Range.FormFields[0];
formField.Font.Bold = true;
formField.Font.Size = 24;
formField.Font.Color = Color.Red;

formField.Result = "Aspose.FormField";

doc = DocumentHelper.SaveOpen(doc);

Run formFieldRun = doc.FirstSection.Body.FirstParagraph.Runs[1];

Assert.AreEqual("Aspose.FormField", formFieldRun.Text);
Assert.AreEqual(true, formFieldRun.Font.Bold);
Assert.AreEqual(24, formFieldRun.Font.Size);
Assert.AreEqual(Color.Red.ToArgb(), formFieldRun.Font.Color.ToArgb());

显示如何插入组合框。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.Write("Please select a fruit: ");

// 插入一个组合框,允许用户从字符串集合中选择一个选项。
FormField comboBox = builder.InsertComboBox("MyComboBox", new[] { "Apple", "Banana", "Cherry" }, 0);

Assert.AreEqual("MyComboBox", comboBox.Name);
Assert.AreEqual(FieldType.FieldFormDropDown, comboBox.Type);
Assert.AreEqual("Apple", comboBox.Result);

// 表单字段将以“select”html标签的形式出现。
doc.Save(ArtifactsDir + "FormFields.Create.html");

也可以看看