FieldAdvance

FieldAdvance class

实现 ADVANCE 字段。

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

public class FieldAdvance : Field

构造函数

姓名描述
FieldAdvance()默认构造函数。

特性

姓名描述
DisplayResult { get; }获取表示显示的字段结果的文本。
DownOffset { get; set; }获取或设置字段后面的文本应向下移动的点数。
End { get; }获取表示字段结束的节点。
Format { get; }获得FieldFormat提供对字段格式的类型化访问的对象。
HorizontalPosition { get; set; }获取或设置字段后面的文本应从列、框架或文本框的左边缘水平移动 的点数。
IsDirty { get; set; }获取或设置字段的当前结果是否由于对文档进行的其他修改而不再正确(陈旧)。
IsLocked { get; set; }获取或设置字段是否被锁定(不应重新计算其结果)。
LeftOffset { get; set; }获取或设置字段后面的文本应向左移动的点数。
LocaleId { get; set; }获取或设置字段的 LCID。
Result { get; set; }获取或设置字段分隔符和字段结束之间的文本。
RightOffset { get; set; }获取或设置字段后面的文本应向右移动的点数。
Separator { get; }获取表示字段分隔符的节点。可无效的.
Start { get; }获取表示字段开始的节点。
virtual Type { get; }获取 Microsoft Word 字段类型。
UpOffset { get; set; }获取或设置字段后面的文本应向上移动的点数。
VerticalPosition { get; set; }获取或设置字段后面的文本应从页面顶部边缘垂直移动 的点数。

方法

姓名描述
GetFieldCode()返回字段开始和字段分隔符之间的文本(如果没有分隔符,则返回字段结束)。 包括子字段的字段代码和字段结果。
GetFieldCode(bool)返回字段开始和字段分隔符之间的文本(如果没有分隔符,则返回字段结束)。
Remove()从文档中删除该字段。返回字段后面的节点。如果字段的结尾是其父节点的最后一个 child ,则返回其父段落。如果该字段已被删除,则返回无效的.
Unlink()执行字段取消链接。
Update()执行字段更新。如果该字段已被更新,则抛出异常。
Update(bool)执行字段更新。如果该字段已被更新,则抛出异常。

评论

将词汇上跟随字段的文本显示的起始点向右或向左、 向上或向下移动,或者移动到特定的水平或垂直位置。

例子

演示如何插入 ADVANCE 字段并编辑其属性。

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

builder.Write("This text is in its normal place.");

// 下面是使用 ADVANCE 字段来调整其后面的文本位置的两种方法。
// ADVANCE 字段的效果继续应用,直到段落结束,
// 或另一个 ADVANCE 字段更新偏移/坐标值。
// 1 - 指定方向偏移:
FieldAdvance field = (FieldAdvance)builder.InsertField(FieldType.FieldAdvance, true);
field.RightOffset = "5";
field.UpOffset = "5";

Assert.AreEqual(" ADVANCE  \\r 5 \\u 5", field.GetFieldCode());

builder.Write("This text will be moved up and to the right.");

field = (FieldAdvance)builder.InsertField(FieldType.FieldAdvance, true);
field.DownOffset = "5";
field.LeftOffset = "100";

Assert.AreEqual(" ADVANCE  \\d 5 \\l 100", field.GetFieldCode());

builder.Writeln("This text is moved down and to the left, overlapping the previous text.");

// 2 - 将文本移动到坐标指定的位置:
field = (FieldAdvance)builder.InsertField(FieldType.FieldAdvance, true);
field.HorizontalPosition = "-100";
field.VerticalPosition = "200";

Assert.AreEqual(" ADVANCE  \\x -100 \\y 200", field.GetFieldCode());

builder.Write("This text is in a custom position.");

doc.Save(ArtifactsDir + "Field.ADVANCE.docx");

也可以看看