FieldEnd

FieldEnd class

يمثل نهاية حقل Word في مستند.

public class FieldEnd : FieldChar

الخصائص

اسم وصف
CustomNodeId { get; set; } يحدد معرف العقدة المخصص .
virtual Document { get; } الحصول على المستند الذي تنتمي إليه هذه العقدة .
FieldType { get; } إرجاع نوع الحقل.
Font { get; } يوفر الوصول إلى تنسيق خط هذا الكائن.
HasSeparator { get; } عوائد حقيقي إذا كان هذا الحقل يحتوي على فاصل.
virtual IsComposite { get; } إرجاع صحيح إذا كانت هذه العقدة يمكن أن تحتوي على عقد أخرى.
IsDeleteRevision { get; } إرجاع صحيح إذا تم حذف هذا الكائن في Microsoft Word أثناء تمكين تعقب التغييرات.
IsDirty { get; set; } الحصول على أو تحديد ما إذا كانت النتيجة الحالية للحقل لم تعد صحيحة (قديمة) بسبب التعديلات الأخرى التي تم إجراؤها على المستند.
IsFormatRevision { get; } إرجاع صحيح إذا تم تغيير تنسيق الكائن في Microsoft Word أثناء تمكين تعقب التغييرات.
IsInsertRevision { get; } إرجاع صحيح إذا تم إدراج هذا الكائن في Microsoft Word أثناء تمكين تعقب التغييرات.
IsLocked { get; set; } الحصول على أو تحديد ما إذا كان الحقل الأصلي مغلقًا (يجب عدم إعادة حساب النتيجة) .
IsMoveFromRevision { get; } عوائد حقيقي إذا تم نقل (حذف) هذا الكائن في Microsoft Word أثناء تمكين تعقب التغييرات.
IsMoveToRevision { get; } عوائد حقيقي إذا تم نقل هذا الكائن (إدراجه) في Microsoft Word أثناء تمكين تعقب التغيير.
NextSibling { get; } يحصل على العقدة التي تلي هذه العقدة مباشرة.
override NodeType { get; } عوائدFieldEnd .
ParentNode { get; } الحصول على الأصل المباشر لهذه العقدة.
ParentParagraph { get; } استرداد الأصلParagraph من هذه العقدة.
PreviousSibling { get; } يحصل على العقدة التي تسبق هذه العقدة مباشرة.
Range { get; } إرجاع أ نطاق الكائن الذي يمثل جزء المستند الموجود في هذه العقدة.

طُرق

اسم وصف
override Accept(DocumentVisitor) يقبل الزائر .
Clone(bool) لإنشاء نسخة مكررة من العقدة .
GetAncestor(NodeType) يحصل على أول سلف محددNodeType .
GetAncestor(Type) الحصول على الأصل الأول لنوع الكائن المحدد.
GetField() إرجاع حقل للحقل char .
override GetText() يحصل على الحرف الخاص الذي تمثله هذه العقدة .
NextPreOrder(Node) الحصول على العقدة التالية وفقًا لخوارزمية اجتياز الشجرة بالطلب المسبق.
PreviousPreOrder(Node) الحصول على العقدة السابقة وفقًا لخوارزمية اجتياز الشجرة بالطلب المسبق.
Remove() يزيل نفسه من الأصل.
ToString(SaveFormat) يصدر محتوى العقدة إلى سلسلة بالتنسيق المحدد.
ToString(SaveOptions) يصدر محتوى العقدة إلى سلسلة باستخدام خيارات الحفظ المحددة.

ملاحظات

FieldEnd هي عقدة ذات مستوى مضمن ويتم تمثيلها بـ بواسطة ملفFieldEndChar حرف التحكم في المستند.

FieldEnd يمكن أن يكون فقط تابعًا لـParagraph.

الحقل الكامل في مستند Microsoft Word عبارة عن بنية معقدة تتكون من حرف بداية الحقل ، ورمز الحقل ، وحرف فاصل الحقل ، ونتائج الحقل وحرف نهاية الحقل. تحتوي بعض الحقول فقط على بداية الحقل ورمز الحقل ونهاية الحقل.

لإدراج حقل جديد بسهولة في مستند ، استخدم ملحقInsertField طريقة .

أمثلة

يوضح كيفية العمل مع مجموعة من الحقول.

{
    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);

    // تكرار عبر المجموعة الميدانية ، وطباعة المحتويات والنوع
    // من كل حقل باستخدام تنفيذ زائر مخصص.
    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>
/// تنفيذ الزائر المستند الذي يطبع معلومات الحقل.
/// </summary>
public class FieldVisitor : DocumentVisitor
{
    public FieldVisitor()
    {
        mBuilder = new StringBuilder();
    }

    /// <summary>
    /// يحصل على النص العادي للمستند الذي قام الزائر بتجميعه.
    /// </summary>
    public string GetText()
    {
        return mBuilder.ToString();
    }

    /// <summary>
    /// يتم الاستدعاء عند مواجهة عقدة FieldStart في المستند.
    /// </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>
    /// يتم الاستدعاء عند مواجهة عقدة FieldSeparator في المستند.
    /// </summary>
    public override VisitorAction VisitFieldSeparator(FieldSeparator fieldSeparator)
    {
        mBuilder.AppendLine("\tFound separator: " + fieldSeparator.GetText());

        return VisitorAction.Continue;
    }

    /// <summary>
    /// يتم الاستدعاء عند مواجهة عقدة FieldEnd في المستند.
    /// </summary>
    public override VisitorAction VisitFieldEnd(FieldEnd fieldEnd)
    {
        mBuilder.AppendLine("End of field: " + fieldEnd.FieldType);

        return VisitorAction.Continue;
    }

    private readonly StringBuilder mBuilder;
}

أنظر أيضا