FieldShape

FieldShape class

SHAPE alanını uygular.

Daha fazla bilgi edinmek için şu adresi ziyaret edin:Alanlarla Çalışma belgeleme makalesi.

public class FieldShape : Field

yapıcılar

İsimTanım
FieldShape()Default_Constructor

Özellikleri

İsimTanım
DisplayResult { get; }Görüntülenen alan sonucunu temsil eden metni alır.
End { get; }Alan sonunu temsil eden düğümü alır.
Format { get; }Bir tane alırFieldFormatalanın biçimlendirmesine yazılmış erişim sağlayan nesne.
IsDirty { get; set; }Belgede yapılan diğer değişiklikler nedeniyle alanın geçerli sonucunun artık doğru (eski) olup olmadığını alır veya ayarlar.
IsLocked { get; set; }Alanın kilitli olup olmadığını alır veya ayarlar (sonucunu yeniden hesaplamamalıdır).
LocaleId { get; set; }Alanın LCID’sini alır veya ayarlar.
Result { get; set; }Alan ayırıcısı ile alan sonu arasındaki metni alır veya ayarlar.
Separator { get; }Alan ayırıcısını temsil eden düğümü alır.hükümsüz .
Start { get; }Alanın başlangıcını temsil eden düğümü alır.
Text { get; set; }Alınacak metni alır veya ayarlar.
virtual Type { get; }Microsoft Word alan türünü alır.

yöntemler

İsimTanım
GetFieldCode()Alan başlangıcı ile alan ayırıcısı (veya ayırıcı yoksa alan sonu) arasındaki metni döndürür. Hem alan kodu hem de alt alanların alan sonucu dahil edilir.
GetFieldCode(bool)Alan başlangıcı ile alan ayırıcısı (veya ayırıcı yoksa alan sonu) arasındaki metni döndürür.
Remove()Alanı belgeden kaldırır. Alanın hemen ardından bir düğüm döndürür. Alanın sonu, üst düğümünün son alt ‘siyse, üst paragrafını döndürür. Alan zaten kaldırılmışsa, şunu döndürürhükümsüz .
Unlink()Alan bağlantısını kaldırma işlemini gerçekleştirir.
Update()Alan güncellemesini gerçekleştirir. Alan zaten güncelleniyorsa fırlatır.
Update(bool)Bir alan güncellemesi gerçekleştirir. Alan zaten güncelleniyorsa fırlatır.

Notlar

Belirtilen metni alır.

Örnekler

BIDIOUTLINE alanlarıyla sağdan sola dil uyumlu listelerin nasıl oluşturulacağını gösterir.

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

// BIDIOUTLINE alanı paragrafları AUTONUM/LISTNUM alanları gibi numaralandırır,
// ancak yalnızca İbranice veya Arapça gibi sağdan sola düzenleme dili etkinleştirildiğinde görünür.
// Aşağıdaki alan, liste numarası "1."in RTL karşılığı olan ".1"i gösterecektir.
FieldBidiOutline field = (FieldBidiOutline)builder.InsertField(FieldType.FieldBidiOutline, true);
builder.Writeln("שלום");

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

// ".2" ve ".3" görüntüleyecek iki adet BIDIOUTLINE alanı daha ekleyin.
builder.InsertField(FieldType.FieldBidiOutline, true);
builder.Writeln("שלום");
builder.InsertField(FieldType.FieldBidiOutline, true);
builder.Writeln("שלום");

// Belgedeki her paragrafın yatay metin hizalamasını RTL olarak ayarlayın.
foreach (Paragraph para in doc.GetChildNodes(NodeType.Paragraph, true))
{
    para.ParagraphFormat.Bidi = true;
}

// Microsoft Word'de sağdan sola düzenleme dilini etkinleştirirsek alanlarımız sayılar görüntüler.
// Aksi takdirde "###" görüntülenir.
doc.Save(ArtifactsDir + "Field.BIDIOUTLINE.docx");

SHAPE ve EMBED gibi bazı eski Microsoft Word alanlarının yükleme sırasında nasıl işlendiğini gösterir.

// Microsoft Word 2003'te oluşturulmuş bir belgeyi açın.
Document doc = new Document(MyDir + "Legacy fields.doc");

// Word belgesini açıp Alt+F9'a basarsak SHAPE ve EMBED alanını göreceğiz.
// SHAPE alanı, "Metinle aynı hizada" sarma stili etkinleştirilmiş bir AutoShape nesnesi için bağlantı/tuvaldir.
// Bir EMBED alanı aynı işleve sahiptir, ancak gömülü bir nesne için,
// harici bir Excel belgesinden alınan bir elektronik tablo gibi.
// Ancak bu alanlar belgenin Alanlar koleksiyonunda görünmeyecektir.
Assert.AreEqual(0, doc.Range.Fields.Count);

// Bu alanlar yalnızca Microsoft Word'ün eski sürümlerinde desteklenmektedir.
// Belge yükleme işlemi bu alanları Şekil nesnelerine dönüştürecektir.
// belgenin node koleksiyonunda erişebileceğimiz.
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);
Assert.AreEqual(3, shapes.Count);

// İlk Şekil düğümü, giriş belgesindeki ŞEKİL alanına karşılık gelir,
// AutoShape için satır içi tuvaldir.
Shape shape = (Shape)shapes[0];
Assert.AreEqual(ShapeType.Image, shape.ShapeType);

// İkinci Şekil düğümü AutoShape'in kendisidir.
shape = (Shape)shapes[1];
Assert.AreEqual(ShapeType.Can, shape.ShapeType);

// Üçüncü Şekil, harici elektronik tabloyu içeren EMBED alanının ne olduğudur.
shape = (Shape)shapes[2];
Assert.AreEqual(ShapeType.OleObject, shape.ShapeType);

Ayrıca bakınız