Ana içeriğe geç

Header

Form üzerinde bölüm başlığı göstermek için kullanılan görsel nesnedir. Formu mantıklı bölümlere ayırır ve kullanıcıya hangi alanın ne işe yaradığını anlatır.

Değer tipi: Bu nesnenin bir değeri yoktur. Header yalnızca ekranda yazı gösterir; veri tutmaz, veritabanına bir şey kaydetmez. Sınıf zinciri Header : LabelBase : VisualControl olduğundan Value, ReadOnly, Required, TabIndex ve Placeholder gibi giriş nesnesi üyeleri burada bulunmaz.

Ne zaman kullanılır?

Uzun bir formu "Kişisel Bilgiler", "İletişim", "Onay" gibi parçalara ayırmak istediğinizde kullanın. Tek satırlık küçük bir açıklama yazısı için Label, yatay ayraç için Divider daha uygundur. Header daha büyük ve dikkat çeken bir bölüm başlığıdır.

Tasarımcı özellikleri

Bir Header seçildiğinde Özellik Görüntüleyici sekmelere ayrılır. Aşağıdaki tablolardaki her özellik gerçek Header sınıfında bulunan bir üyedir.

General

ÖzellikTipAçıklama
NameStringNesnenin koddaki adı (ör. Header1). Koddan bu adla erişirsiniz.
TextMultiLanguageTextBaşlıkta görünen yazı (kültür anahtarlı; çok dilli olabilir).
CaptionControlCaptionNesnenin kendi başlık bloğu (yazı, font, hizalama). Header'da genellikle Text yeterlidir.

Behavior

ÖzellikTipAçıklama
HeadingTypeStringBaşlık düzeyi (h1, h2, h3...). Düzey küçüldükçe yazı küçülür.
FontFontYazı tipi, kalın / italik / altı çizili / üstü çizili, renk, aile, boyut.
HeightNullable<Int32>Başlığın yüksekliği (piksel).
LineHeightNullable<Single>Satır yüksekliği; çok satırlı başlıkta satır aralığını ayarlar.
Bu tabloda olmayanlar

Tasarımcı yüzeyinde görebileceğiniz ReadOnly, Required ve Tab Index alanları genel tasarımcı meta verisinden gelir; gerçek Header sınıfında bu üyeler yoktur. Header bir giriş nesnesi olmadığı için bunları koddan kullanamazsınız.

Appearance

ÖzellikTipAçıklama
Visible / ClientVisibleBooleanNesnenin görünürlüğü (sunucu / istemci).
Enabled / ClientEnabledBooleanNesnenin aktif olup olmadığı (sunucu / istemci).
TitleMultiLanguageTextFareyle üzerine gelince çıkan ipucu (tooltip) yazısı.
TextAlignHorizontalAlignYazının yatay hizası: Left, Center, Right.
Style / ContainerStyleStyleNesnenin ve kapsayıcısının görsel stili (arka plan, kenarlık, dolgu vb.).
CustomClassNameStringNesneye eklenecek özel CSS sınıf adı.
LoadingBooleanYükleniyor göstergesini açar/kapatır.

Bağlam menüsü (Context Menu)

ÖzellikTipAçıklama
ContextMenuKeyStringBu başlığa bağlanacak ContextMenu nesnesinin adı.
ContextMenuTargetContextMenuTargetMenünün hedefi: Container, None, Row, Column.
ContextMenuColumnKeyStringSütun bazlı menülerde hedef sütun anahtarı.

Olaylar

Header değer tutmayan bir görsel nesnedir ve gerçek Header sınıfı hiçbir olay (EventHandler) üyesi tanımlamaz. Diğer giriş nesnelerindeki OnValueChanging / OnValueChanged / OnTextChanging / OnTextChanged gibi olaylar Header için mevcut değildir; bunlar yalnızca EditControl türevi nesnelerde bulunur.

Header'ı koddan yönetmek istediğinizde olay yazmak yerine doğrudan özelliklerini (Text, Visible, Title) bir form ya da akış adımının kodunda set edersiniz.

Olay yok

OnInit / OnLoad / OnRender gibi yaşam döngüsü kancaları ve OnClick / OnDoubleClick Header için onaylanmış üyeler değildir. Bu nesne için sunucu ya da istemci tarafında özel bir olay yazmaya gerek kalmaz.

Kod örnekleri

Header değer tutmadığı için ona genellikle başlık yazısını okumak/değiştirmek ya da görünürlüğünü kontrol etmek için erişirsiniz. Sunucu örnekleri turuncu, istemci örnekleri kırmızı çerçevelidir.

Form kodu (C#, sunucu)

Form kodunda nesneye doğrudan adıyla erişirsiniz. Text tipi MultiLanguageText olduğundan tip güvenli yazımda çok dilli sarmalayıcı ile atama yapılır; okurken ?.ToString() ile metni alırsınız.

// Oku (MultiLanguageText -> string)
string baslik = Header1.Text?.ToString();

// Yaz (çok dilli sarmalayıcı ile)
Header1.Text = new MultiLanguageText(
new Dictionary<string, string> { { "tr-TR", "Kişisel Bilgiler" } });

// İpucu (tooltip) yazısı da MultiLanguageText'tir
Header1.Title = new MultiLanguageText(
new Dictionary<string, string> { { "tr-TR", "Bu bölümde kimlik bilgileri yer alır" } });

// Gizle / göster
Header1.Visible = false;

Akış (Flow) kodu (C#, sunucu)

Akış kodunda nesneye Document1.Controls üzerinden erişirsiniz. Bu cevap tipi nesneyi sarmaladığından, başlık yazısını doğrudan string ile de set edebilirsiniz; okurken ?.ToString() kullanın.

// Oku
string baslik = Document1.Controls["Header1"].Text?.ToString();

// Başlık yazısını değiştir
Document1.Controls["Header1"].Text = "Onay Adımı";

// Gizle / göster
Document1.Controls["Header1"].Visible = false;

İstemci kodu (TypeScript, tarayıcı)

İstemci tarafında nesnelere this. ile erişilir ve özellik adları küçük harfle yazılır:

// Başlık yazısını değiştir
this.Header1.text = "İletişim Bilgileri";

// Gizle / göster
this.Header1.visible = false;
Değeri yok, yazısı var

Header bir veri nesnesi değildir; .Value yoktur. Ekrandaki yazıyı değiştirmek için .Text (tipi MultiLanguageText), ipucu için .Title kullanın. Onay adımına göre başlığı değiştirmek istiyorsanız bu özellikleri koddan set edebilirsiniz.

Kullanım örnekleri

Akış adımına göre başlığı değiştirme

Bir talep formunda, adım ilerledikçe üstteki başlığı güncelleyerek kullanıcıya nerede olduğunu gösterebilirsiniz. Akış kodunda doğrudan string atayabilirsiniz:

// Onay adımında başlığı güncelle
Document1.Controls["Header1"].Text = "Onay Bekliyor";

Koşula göre bölümü gizleme

Header'ı, altındaki alanlarla birlikte koşullu gösterdiğiniz bir bölümün başlığı olarak kullanırsanız, koşul sağlanmadığında başlığı da gizlemek formu temiz tutar:

bool yoneticiOnayiGerekli = (decimal)Document1.Controls["Tutar"].Value > 10000m;
Document1.Controls["Header_YoneticiOnayi"].Visible = yoneticiOnayiGerekli;

İpuçları

  • Formu okunabilir tutmak için her bölümün başına bir Header koyun; kullanıcı uzun formda nerede olduğunu kolayca anlar.
  • HeadingType ile başlık düzeyini seçin: ana bölümler için büyük (h1 / h2), alt başlıklar için daha küçük (h3) kullanın.
  • Header veri tutmadığı için Field Name ve Size gibi alanları yoktur; veritabanına bir şey yazmaz.
  • Tip güvenli form kodunda Text bir MultiLanguageText'tir: atarken new MultiLanguageText(...), okurken ?.ToString() kullanın. Akış kodunda sarmalanmış facade üzerinden düz string de atayabilirsiniz.
Tüm tasarımcı özellikleri (tam liste)

General: Name, Text (MultiLanguageText), Caption (ControlCaption)

Behavior: HeadingType, Font, Height (Nullable<Int32>), LineHeight (Nullable<Single>)

Appearance: Visible, ClientVisible, Enabled, ClientEnabled, Title (MultiLanguageText), TextAlign (HorizontalAlign: Left/Center/Right), Style, ContainerStyle, CustomClassName, Loading

Context Menu: ContextMenuKey, ContextMenuColumnKey, ContextMenuTarget (ContextMenuTarget: Container/None/Row/Column)

Altyapı: ControlId, DefaultEnabled, DefaultClientEnabled, ClientEvents, ServerEvents, ExecutedServerEvents

Yöntemler: GetDifferences(object otherObj)

Olaylar: Yok. Header sınıfı hiçbir EventHandler üyesi tanımlamaz.