FieldShape

FieldShape class

ينفذ حقل الشكل.

لمعرفة المزيد، قم بزيارةالعمل مع الحقول مقالة توثيقية.

public class FieldShape : Field

المنشئون

اسموصف
FieldShape()Default_Constructor

الخصائص

اسموصف
DisplayResult { get; }الحصول على النص الذي يمثل نتيجة الحقل المعروض.
End { get; }يحصل على العقدة التي تمثل نهاية الحقل.
Format { get; }يحصل علىFieldFormat الكائن الذي يوفر الوصول المكتوب إلى تنسيق الحقل.
IsDirty { get; set; }الحصول على أو تعيين ما إذا كانت النتيجة الحالية للحقل لم تعد صحيحة (قديمة) بسبب تعديلات أخرى تم إجراؤها على المستند.
IsLocked { get; set; }الحصول على أو تعيين ما إذا كان الحقل مقفلاً (لا ينبغي إعادة حساب النتيجة).
LocaleId { get; set; }الحصول على أو تعيين LCID الخاص بالحقل.
Result { get; set; }الحصول على أو تعيين النص الموجود بين فاصل الحقل ونهاية الحقل.
Separator { get; }يحصل على العقدة التي تمثل فاصل الحقول. يمكن ان يكونباطل .
Start { get; }يحصل على العقدة التي تمثل بداية الحقل.
Text { get; set; }الحصول على النص أو تعيينه لاسترداده.
virtual Type { get; }الحصول على نوع حقل Microsoft Word.

طُرق

اسموصف
GetFieldCode()إرجاع النص بين بداية الحقل وفاصل الحقل (أو نهاية الحقل إذا لم يكن هناك فاصل). يتم تضمين كل من رمز الحقل ونتيجة الحقل للحقول الفرعية.
GetFieldCode(bool)إرجاع النص بين بداية الحقل وفاصل الحقل (أو نهاية الحقل إذا لم يكن هناك فاصل).
Remove()إزالة الحقل من المستند. إرجاع عقدة مباشرة بعد الحقل. إذا كانت نهاية الحقل هي الطفل الأخير للعقدة الأصلية، فسيتم إرجاع الفقرة الأصلية الخاصة به. إذا تمت إزالة الحقل بالفعل، فسيتم إرجاعهباطل .
Unlink()يقوم بإلغاء ربط الحقل.
Update()يقوم بإجراء التحديث الميداني. يتم الرمي إذا تم تحديث الحقل بالفعل.
Update(bool)إجراء تحديث ميداني. يتم الرمي إذا تم تحديث الحقل بالفعل.

ملاحظات

استرداد النص المحدد.

أمثلة

يوضح كيفية إنشاء قوائم متوافقة مع اللغة من اليمين إلى اليسار باستخدام حقول BIDIOUTLINE.

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

// يقوم حقل BIDIOUTLINE بترقيم الفقرات مثل حقول AUTONUM/LISTNUM،
// ولكنه يكون مرئيًا فقط عند تمكين لغة التحرير من اليمين إلى اليسار، مثل العبرية أو العربية.
// سيعرض الحقل التالي ".1"، وهو ما يعادل رقم القائمة "1." من اليمين إلى اليسار (RTL).
FieldBidiOutline field = (FieldBidiOutline)builder.InsertField(FieldType.FieldBidiOutline, true);
builder.Writeln("שלום");

Assert.AreEqual(" BIDIOUTLINE ", field.GetFieldCode());

// أضف حقلين آخرين لـ BIDIOUTLINE، حيث سيتم عرض ".2" و".3".
builder.InsertField(FieldType.FieldBidiOutline, true);
builder.Writeln("שלום");
builder.InsertField(FieldType.FieldBidiOutline, true);
builder.Writeln("שלום");

// اضبط محاذاة النص الأفقي لكل فقرة في المستند على RTL.
foreach (Paragraph para in doc.GetChildNodes(NodeType.Paragraph, true))
{
    para.ParagraphFormat.Bidi = true;
}

// إذا قمنا بتمكين لغة التحرير من اليمين إلى اليسار في Microsoft Word، فستعرض حقولنا أرقامًا.
// وإلا فسوف يعرضون "###".
doc.Save(ArtifactsDir + "Field.BIDIOUTLINE.docx");

يوضح كيفية التعامل مع بعض حقول Microsoft Word القديمة مثل SHAPE وEMBED أثناء التحميل.

// افتح مستندًا تم إنشاؤه في Microsoft Word 2003.
Document doc = new Document(MyDir + "Legacy fields.doc");

// إذا فتحنا مستند Word واضغطنا على Alt+F9، فسنرى شكلًا وحقل EMBED.
// حقل SHAPE هو نقطة الارتساء/اللوحة القماشية لكائن الشكل التلقائي مع تمكين نمط الالتفاف "سطري مع النص".
// حقل EMBED له نفس الوظيفة، ولكن بالنسبة للكائن المضمن،
// مثل جدول بيانات من مستند Excel خارجي.
// ومع ذلك، لن تظهر هذه الحقول في مجموعة حقول المستند.
Assert.AreEqual(0, doc.Range.Fields.Count);

// هذه الحقول مدعومة فقط في الإصدارات القديمة من Microsoft Word.
// ستقوم عملية تحميل المستند بتحويل هذه الحقول إلى كائنات الشكل،
// والتي يمكننا الوصول إليها في مجموعة عقدة المستند.
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);
Assert.AreEqual(3, shapes.Count);

// تتوافق عقدة الشكل الأولى مع حقل SHAPE في مستند الإدخال،
// وهي اللوحة المضمنة للشكل التلقائي.
Shape shape = (Shape)shapes[0];
Assert.AreEqual(ShapeType.Image, shape.ShapeType);

// عقدة الشكل الثانية هي الشكل التلقائي نفسه.
shape = (Shape)shapes[1];
Assert.AreEqual(ShapeType.Can, shape.ShapeType);

// الشكل الثالث هو حقل EMBED الذي يحتوي على جدول البيانات الخارجي.
shape = (Shape)shapes[2];
Assert.AreEqual(ShapeType.OleObject, shape.ShapeType);

أنظر أيضا