Ana içeriğe geç

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

ÖzellikAçıklama
NameNesnenin koddaki adı (ör. InputGroup1). Koddan bu adla erişirsiniz.

Behavior

ÖzellikAçıklama
CollapsedDefaultForm 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.
HeaderModeBaşlığın gösterim biçimini belirler (başlık görünür / gizli vb.).
ReadOnlyGrubun içindeki nesneleri salt okunur yapar.
TitleFontBaşlık yazısının yazı tipi: font, kalın / italik / altı çizili ayarları.

Appearance

ÖzellikAçıklama
Visible / Client VisibleNesnenin görünürlüğü.
Enabled / Client EnabledNesnenin aktif olup olmadığı.
TitleGrubun 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ı: OnInitOnLoadOnRender

Olaylar iki tarafta çalışabilir: sunucu olayları C# kodunda, istemci olayları tarayıcıdaki TypeScript kodunda.

Sunucu olayları (Server)

OlayNe zaman çalışır
OnInitForm açılırken nesne oluşturulduğunda, en başta.
OnLoadOnInit'in hemen ardından, nesne yüklenince.
OnRenderNesne ekrana çizilirken.

İstemci olayları (Client)

Sunucudaki olaylara ek olarak tarayıcı tarafında şunlar da vardır:

OlayNe zaman çalışır
OnDataLoadNesnenin verisi yüklendiğinde.
OnPreRenderNesne ekrana çizilmeden hemen önce.
OnClick / OnDoubleClickNesneye tıklanınca / çift tıklanınca.
OnPropertyChanging / OnPropertyChangedBir ö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;
CollapsedDefault ne işe yarar?

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