InputGroup
Birbiriyle ilgili nesneleri başlıklı tek bir çerçeve içinde toplayan düzen nesnesidir. Başlığı vardır ve istenirse açılıp kapanabilir. Formdaki alanları konularına göre ayırıp ekranı daha düzenli göstermek için kullanılır.
Bu nesnenin bir değeri yoktur. InputGroup bir kapsayıcı (container) nesnedir; içine başka nesneler yerleştirirsiniz, kendisi veri tutmaz.
Ne zaman kullanılır?
Çok sayıda alan içeren formlarda alanları konu başlıklarına göre gruplamak için idealdir. Örneğin "İletişim Bilgileri" başlığı altında telefon, e-posta ve adres alanlarını bir arada gösterebilirsiniz. Bölümlerin açılıp kapanmasını istiyorsanız Collapse, sekmeli geçiş istiyorsanız Tabs, başlıksız basit bir çerçeve yeterliyse Panel daha uygundur.
Tasarımcı özellikleri
Bir InputGroup seçildiğinde Özellik Görüntüleyici sekmelere ayrılır.
General
| Özellik | Açıklama |
|---|---|
Name | Nesnenin koddaki adı (ör. InputGroup1). Koddan bu adla erişirsiniz. |
Behavior
| Özellik | Açıklama |
|---|---|
CollapsedDefault | Form ilk açıldığında grubun kapalı (katlanmış) gelip gelmeyeceğini belirler. true ise içerik gizli başlar, kullanıcı başlığa tıklayınca açılır. |
HeaderMode | Başlığın gösterim biçimini belirler (başlık görünür / gizli vb.). |
ReadOnly | Grubun içindeki nesneleri salt okunur yapar. |
TitleFont | Başlık yazısının yazı tipi: font, kalın / italik / altı çizili ayarları. |
Appearance
| Özellik | Açıklama |
|---|---|
Visible / Client Visible | Nesnenin görünürlüğü. |
Enabled / Client Enabled | Nesnenin aktif olup olmadığı. |
Title | Grubun başlığı (çok dilli olabilir). |
Olaylar
InputGroup bir kapsayıcı nesne olduğu için kendine ait değer/seçim olayı sunmaz. Yalnızca her nesnede bulunan yaşam döngüsü olayları çalışır. Bu olayları nesne açılırken grubu programlı olarak gizlemek, açıp kapatmak veya başlığını ayarlamak için kullanırsınız.
Açılış sırası: OnInit → OnLoad → OnRender
Olaylar iki tarafta çalışabilir: sunucu olayları C# kodunda, istemci olayları tarayıcıdaki TypeScript kodunda.
Sunucu olayları (Server)
| Olay | Ne zaman çalışır |
|---|---|
OnInit | Form açılırken nesne oluşturulduğunda, en başta. |
OnLoad | OnInit'in hemen ardından, nesne yüklenince. |
OnRender | Nesne ekrana çizilirken. |
İstemci olayları (Client)
Sunucudaki olaylara ek olarak tarayıcı tarafında şunlar da vardır:
| Olay | Ne zaman çalışır |
|---|---|
OnDataLoad | Nesnenin verisi yüklendiğinde. |
OnPreRender | Nesne ekrana çizilmeden hemen önce. |
OnClick / OnDoubleClick | Nesneye tıklanınca / çift tıklanınca. |
OnPropertyChanging / OnPropertyChanged | Bir özellik kodla değiştirilmeden önce / sonra. |
Kod örnekleri
InputGroup'un bir değeri olmadığı için Value / Text kullanılmaz. Bunun yerine nesnenin görünürlüğünü, başlığını ve salt okunurluğunu kontrol edersiniz. Sunucu örnekleri turuncu, istemci örnekleri kırmızı çerçevelidir.
Form kodu (C#, sunucu)
Form kodunda nesneye doğrudan adıyla erişirsiniz:
// Grubu gizle
InputGroup1.Visible = false;
// İçindeki nesneleri salt okunur yap
InputGroup1.ReadOnly = true;
// Başlığı değiştir
InputGroup1.Title = "İletişim Bilgileri";
Akış (Flow) kodu (C#, sunucu)
Akış kodunda nesneye Document1.Controls üzerinden erişirsiniz:
// Grubu gizle
Document1.Controls["InputGroup1"].Visible = false;
// İçindeki nesneleri salt okunur yap
Document1.Controls["InputGroup1"].ReadOnly = true;
İstemci kodu (TypeScript, tarayıcı)
İstemci tarafında nesnelere this. ile erişilir ve özellik adları küçük harfle yazılır:
// Grubu gizle
this.InputGroup1.visible = false;
// İçindeki nesneleri salt okunur yap
this.InputGroup1.readOnly = true;
Formda nadiren kullanılan ya da isteğe bağlı alanları bir InputGroup içine alıp CollapsedDefault özelliğini açın. Böylece grup form açıldığında kapalı gelir, ekran sade kalır; kullanıcı gerek duyduğunda başlığa tıklayıp açar.
İpuçları
- InputGroup bir kapsayıcıdır; içine TextBox, ComboBox gibi nesneleri sürükleyip ortak başlık altında gruplayın.
- Form ilk açıldığında grubun kapalı gelmesini istiyorsanız tasarımcıda
CollapsedDefaultözelliğini açın. - Başlığa ihtiyacınız yoksa ve sadece basit bir çerçeve istiyorsanız Panel, sekmeli geçiş istiyorsanız Tabs kullanın.
Tüm tasarımcı özellikleri (tam liste)
General: Name
Behavior: CollapsedDefault, HeaderMode, ReadOnly, TitleFont
Appearance: Client Enabled, Client Visible, Enabled, Title, Visible
Olaylar (Server): OnInit, OnLoad, OnRender
Olaylar (Client): OnInit, OnLoad, OnPreRender, OnRender, OnDataLoad, OnClick, OnDoubleClick, OnPropertyChanging, OnPropertyChanged