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()Удаляет поле из документа. Возвращает узел сразу после поля. Если конец поля является последним дочерним его родительского узла, возвращает его родительский абзац. Если поле уже удалено, возвращаетсянулевой .
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");

Смотрите также