FieldEnd

FieldEnd class

Bir belgedeki Word alanının sonunu temsil eder.

public class FieldEnd : FieldChar

Özellikleri

İsim Tanım
CustomNodeId { get; set; } Özel düğüm tanımlayıcısını belirtir.
virtual Document { get; } Bu düğümün ait olduğu belgeyi alır.
FieldType { get; } Alanın türünü döndürür.
Font { get; } Bu nesnenin yazı tipi biçimlendirmesine erişim sağlar.
HasSeparator { get; } İade doğru bu alanda bir ayırıcı varsa.
virtual IsComposite { get; } Bu düğüm başka düğümler içerebiliyorsa true değerini döndürür.
IsDeleteRevision { get; } Bu nesne, değişiklik izleme etkinleştirilirken Microsoft Word’de silindiyse true değerini döndürür.
IsDirty { get; set; } Alandaki geçerli sonucun belgede yapılan diğer değişiklikler nedeniyle artık doğru (eski) olup olmadığını alır veya ayarlar.
IsFormatRevision { get; } Değişiklik izleme etkinken nesnenin biçimlendirmesi Microsoft Word’de değiştirilirse doğru döndürür.
IsInsertRevision { get; } Bu nesne, değişiklik izleme etkinken Microsoft Word’e eklendiyse true değerini döndürür.
IsLocked { get; set; } Üst alanın kilitli olup olmadığını alır veya ayarlar (sonucunu yeniden hesaplamamalıdır).
IsMoveFromRevision { get; } İade doğru değişiklik izleme etkinken bu nesne Microsoft Word’de taşındıysa (silindiyse).
IsMoveToRevision { get; } İade doğru bu nesne, değişiklik izleme etkinken Microsoft Word’de taşındıysa (yerleştirildiyse).
NextSibling { get; } Bu düğümden hemen sonraki düğümü alır.
override NodeType { get; } İadeFieldEnd .
ParentNode { get; } Bu düğümün hemen üst öğesini alır.
ParentParagraph { get; } Üst öğeyi alırParagraph bu düğümün.
PreviousSibling { get; } Bu düğümden hemen önceki düğümü alır.
Range { get; } Bir döndürür Menzil belgenin bu düğümde bulunan bölümünü temsil eden nesne.

yöntemler

İsim Tanım
override Accept(DocumentVisitor) Bir ziyaretçiyi kabul eder.
Clone(bool) Düğümün bir kopyasını oluşturur.
GetAncestor(NodeType) Belirtilenin ilk atasını alırNodeType .
GetAncestor(Type) Belirtilen nesne türünün ilk üst öğesini alır.
GetField() char. alanı için bir alan döndürür
override GetText() Bu düğümün temsil ettiği özel karakteri alır.
NextPreOrder(Node) Ön sipariş ağaç geçiş algoritmasına göre sonraki düğümü alır.
PreviousPreOrder(Node) Ön sipariş ağacı geçiş algoritmasına göre önceki düğümü alır.
Remove() Kendini üst öğeden kaldırır.
ToString(SaveFormat) Düğümün içeriğini belirtilen biçimde bir dizeye aktarır.
ToString(SaveOptions) Belirtilen kaydetme seçeneklerini kullanarak düğümün içeriğini bir dizeye aktarır.

Notlar

FieldEnd satır içi düzeyde bir düğümdür ve tarafından temsil edilen FieldEndChar belgedeki kontrol karakteri.

FieldEnd sadece çocuğu olabilirParagraph.

Bir Microsoft Word belgesindeki tam alan, alan başlangıç karakteri, alan kodu, alan ayırıcı karakter, alan sonucu ve alan bitiş karakterinden oluşan karmaşık bir yapıdır. Bazı alanlarda yalnızca alan başlangıcı, alan kodu ve alan sonu bulunur.

Bir belgeye kolayca yeni bir alan eklemek içinInsertField yöntemi.

Örnekler

Bir alan koleksiyonuyla nasıl çalışılacağını gösterir.

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

    builder.InsertField(" DATE \\@ \"dddd, d MMMM yyyy\" ");
    builder.InsertField(" TIME ");
    builder.InsertField(" REVNUM ");
    builder.InsertField(" AUTHOR  \"John Doe\" ");
    builder.InsertField(" SUBJECT \"My Subject\" ");
    builder.InsertField(" QUOTE \"Hello world!\" ");
    doc.UpdateFields();

    FieldCollection fields = doc.Range.Fields;

    Assert.AreEqual(6, fields.Count);

    // Alan koleksiyonunu yineleyin ve içeriği yazdırın ve yazın
    // özel bir ziyaretçi uygulaması kullanan her alanın.
    FieldVisitor fieldVisitor = new FieldVisitor();

    using (IEnumerator<Field> fieldEnumerator = fields.GetEnumerator())
    {
        while (fieldEnumerator.MoveNext())
        {
            if (fieldEnumerator.Current != null)
            {
                fieldEnumerator.Current.Start.Accept(fieldVisitor);
                fieldEnumerator.Current.Separator?.Accept(fieldVisitor);
                fieldEnumerator.Current.End.Accept(fieldVisitor);
            }
            else
            {
                Console.WriteLine("There are no fields in the document.");
            }
        }
    }

    Console.WriteLine(fieldVisitor.GetText());

/// <summary>
/// Alan bilgilerini yazdıran belge ziyaretçisi uygulaması.
/// </summary>
public class FieldVisitor : DocumentVisitor
{
    public FieldVisitor()
    {
        mBuilder = new StringBuilder();
    }

    /// <summary>
    /// Ziyaretçi tarafından toplanan belgenin düz metnini alır.
    /// </summary>
    public string GetText()
    {
        return mBuilder.ToString();
    }

    /// <summary>
    /// Belgede bir FieldStart düğümüyle karşılaşıldığında çağrılır.
    /// </summary>
    public override VisitorAction VisitFieldStart(FieldStart fieldStart)
    {
        mBuilder.AppendLine("Found field: " + fieldStart.FieldType);
        mBuilder.AppendLine("\tField code: " + fieldStart.GetField().GetFieldCode());
        mBuilder.AppendLine("\tDisplayed as: " + fieldStart.GetField().Result);

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Belgede bir FieldSeparator düğümüyle karşılaşıldığında çağrılır.
    /// </summary>
    public override VisitorAction VisitFieldSeparator(FieldSeparator fieldSeparator)
    {
        mBuilder.AppendLine("\tFound separator: " + fieldSeparator.GetText());

        return VisitorAction.Continue;
    }

    /// <summary>
    /// Belgede bir FieldEnd düğümüyle karşılaşıldığında çağrılır.
    /// </summary>
    public override VisitorAction VisitFieldEnd(FieldEnd fieldEnd)
    {
        mBuilder.AppendLine("End of field: " + fieldEnd.FieldType);

        return VisitorAction.Continue;
    }

    private readonly StringBuilder mBuilder;
}

Ayrıca bakınız