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
| Özellik | Tip | Açıklama |
|---|---|---|
Name | String | Nesnenin koddaki adı (ör. Header1). Koddan bu adla erişirsiniz. |
Text | MultiLanguageText | Başlıkta görünen yazı (kültür anahtarlı; çok dilli olabilir). |
Caption | ControlCaption | Nesnenin kendi başlık bloğu (yazı, font, hizalama). Header'da genellikle Text yeterlidir. |
Behavior
| Özellik | Tip | Açıklama |
|---|---|---|
HeadingType | String | Başlık düzeyi (h1, h2, h3...). Düzey küçüldükçe yazı küçülür. |
Font | Font | Yazı tipi, kalın / italik / altı çizili / üstü çizili, renk, aile, boyut. |
Height | Nullable<Int32> | Başlığın yüksekliği (piksel). |
LineHeight | Nullable<Single> | Satır yüksekliği; çok satırlı başlıkta satır aralığını ayarlar. |
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
| Özellik | Tip | Açıklama |
|---|---|---|
Visible / ClientVisible | Boolean | Nesnenin görünürlüğü (sunucu / istemci). |
Enabled / ClientEnabled | Boolean | Nesnenin aktif olup olmadığı (sunucu / istemci). |
Title | MultiLanguageText | Fareyle üzerine gelince çıkan ipucu (tooltip) yazısı. |
TextAlign | HorizontalAlign | Yazının yatay hizası: Left, Center, Right. |
Style / ContainerStyle | Style | Nesnenin ve kapsayıcısının görsel stili (arka plan, kenarlık, dolgu vb.). |
CustomClassName | String | Nesneye eklenecek özel CSS sınıf adı. |
Loading | Boolean | Yükleniyor göstergesini açar/kapatır. |
Bağlam menüsü (Context Menu)
| Özellik | Tip | Açıklama |
|---|---|---|
ContextMenuKey | String | Bu başlığa bağlanacak ContextMenu nesnesinin adı. |
ContextMenuTarget | ContextMenuTarget | Menünün hedefi: Container, None, Row, Column. |
ContextMenuColumnKey | String | Sü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.
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;
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.
HeadingTypeile 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 NameveSizegibi alanları yoktur; veritabanına bir şey yazmaz. - Tip güvenli form kodunda
TextbirMultiLanguageText'tir: atarkennew 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.