Eski Form Alanları

Eski Form Alanları

Aspose.Words FOSS for .NET Word’ün eski (içerik denetimi öncesi) form alanlarını — metin girişi, onay kutusu ve açılır menü alanlarını — FormField sınıfı ve Aspose.Words.Fields içindeki üç özel alan alt sınıfı aracılığıyla okur ve değiştirir.


Form Alanı Değerlerini Okuma

Document.Range.FormFields (FormFieldCollection) bir aralıktaki tüm eski form alanlarına düğüm ağacını elle dolaşmadan doğrudan erişim sağlar. Her FormField, Name‘ü (alanı referanslamak için kullanılan yer imi tarzı tanımlayıcı), Type‘ü (hangi tür form alanı olduğunu belirten bir FieldType değeri), Result‘ı (mevcut değer), Enabled‘i ve HelpText/OwnHelp ile StatusText/OwnStatus aracılığıyla yardım/durum metnini ortaya çıkarır. SetTextInputValue(newValue), bir metin girişi alanı için yeni bir değeri doğrudan ayarlar. FormFieldCollection‘e yer imi adıyla (ör. formFields["BookmarkName"]) indeksleyerek belirli bir alanı alın, ve Remove(formField) / RemoveAt(index) koleksiyondan alanları siler.


Metin, Onay Kutusu ve Açılır Menü Alan Türleri

Üç eski form alanı türünün her birinin özel bir sınıfı vardır: FieldFormText ( FORMTEXT alanı, FieldType.FieldFormTextInput ile eşleşen) serbest metin girişi için, FieldFormCheckBox ( FORMCHECKBOX alanı) bir boolean geçişi için ve FieldFormDropDown ( FORMDROPDOWN alanı) bir seçim listesi için. Altındaki FormField düğümünde, TextInputType (bir TextFormFieldType değeri — Regular, Number, Date, CurrentDate, CurrentTime veya Calculated) ve TextInputFormat bir metin alanının değerinin nasıl yorumlanıp biçimlendirileceğini kontrol eder; MaxLength giriş uzunluğunu sınırlar; TextInputDefault varsayılan değerini sağlar. Checked ve Default onay kutusu alanlarına uygulanır, IsCheckBoxExactSize/CheckBoxSize ise render edilen boyutunu kontrol eder. Açılır menü alanları seçenek listesini DropDownItems içinde taşır, bu bir DropDownItemCollection olup Add, Insert, Remove, Contains ve IndexOf destekler, ayrıca şu anda seçili öğe için DropDownSelectedIndex bulunur.


İpuçları ve En İyi Uygulamalar

  • Manuel olarak Document.Range.Fields’i tipe göre filtrelemek yerine Document.Range.FormFields’ı kullanın — bu, eski form alanları için doğrudan, tiplenmiş giriş noktasıdır.
  • Kullanıcı alanı terk ettiğinde form alanının değeri bağımlı alanın yeniden hesaplanmasını tetiklemeli ise CalculateOnExit ayarlayın.
  • FormField.EntryMacro / ExitMacro orijinal belgede yapılandırılmış VBA makro adlarına referans verir — bunları okumak herhangi bir makro kodunu çalıştırmaz.
  • Bir metin alanının Result‘ini sayı veya tarih olarak ayrıştırmadan önce TextInputType‘ı kontrol edin — Regular alanları format kısıtlaması getirmez.

Sık Karşılaşılan Sorunlar

SorunNedenÇözüm
Yer işareti adıyla FormFieldCollection indeksleme null döndürüyorForm alanının yer işareti adı eşleşmiyor veya alan aranan aralıkta bulunmuyorSıralama sırasında FormField.Name aracılığıyla tam yer işareti adını doğrulayın
Checked ayarlandıktan sonra onay kutusu durumu yansıtılmıyorBelge değişiklikten sonra kaydedilmediBelgeyi değişiklikten sonra kaydedin; Checked bir sonraki erişimde okunur
Açılır menü DropDownSelectedIndex aralık dışındaDizin, DropDownItems içinde bir öğeye karşılık gelmiyorAyar yapmadan önce dizini DropDownItems.Count ile doğrulayın
Metin alanı değeri uygulanmadıSetTextInputValue yerine doğrudan özellik ataması kullanıldıFormField üzerinde SetTextInputValue(newValue) çağır

FAQ

FormField ile FieldFormText/FieldFormCheckBox/FieldFormDropDown arasındaki fark nedir?

FormField, herhangi bir eski form alanını temsil eden genel düğümdür ve Document.Range.FormFields aracılığıyla erişilir. FieldFormText, FieldFormCheckBox ve FieldFormDropDown, Field‘den türetilen, genel Field koleksiyonunu kullanırken her alan türü için alan-spesifik sınıflardır.

Bir belgede tüm form alanı değerlerini nasıl alırım?

Her FormField için Document.Range.FormFields öğelerini numaralandır ve Name/Result oku.

Açılır menü form alanına seçenek ekleyebilir miyim?

Evet — FormField.DropDownItems, Add(value), Insert(index, value) ve Remove(name) içeren bir DropDownItemCollection.

Bunlar modern içerik denetimleriyle aynı mı?

Hayır. Eski form alanları (FORMTEXT, FORMCHECKBOX, FORMDROPDOWN) Word’ün yapılandırılmış belge etiketi (içerik denetimi) modelinden daha eskidir; ikisi de aynı belgede bulunabilir.


API Reference Özeti

Sınıf / MetotAçıklama
Document.Range.FormFieldsBir aralıktaki tüm eski form alanlarına doğrudan erişim
FormFieldGenel eski form alanı düğümü: ad, tür, sonuç, etkin durum
FormFieldCollectionFormField nesnelerinin koleksiyonu; yer imi adıyla indeksleyici, Remove()
FieldFormTextFORMTEXT alan sınıfı
FieldFormCheckBoxFORMCHECKBOX alan sınıfı
FieldFormDropDownFORMDROPDOWN alan sınıfı
TextFormFieldTypeMetin alanı giriş formatı için enum (Regular, Number, Date, vb.)
DropDownItemCollectionAçılır menü alanının seçeneklerinin düzenlenebilir listesi

Ayrıca Bakınız

 Türkçe