Ana içeriğe geç

Label

Form üzerinde sabit bir yazı göstermek için kullanılan nesnedir. Başlık, açıklama ya da bir alanın yanındaki bilgilendirme metni gibi, kullanıcının değiştiremeyeceği yazılar için kullanılır.

Değer tipi: Bu nesnenin bir değeri yoktur. Label salt görsel bir nesnedir (VisualControl); veri tutmaz, bir veritabanı alanına bağlanmaz ve forma bir kolon yazmaz. Gösterdiği yazıyı Text nesnesiyle yönetirsiniz. Text ve Title nesneleri düz metin değil, kültür anahtarlı MultiLanguageText tipindedir; bu yüzden koddan okurken .ToString() ile düz metne çevirmeniz gerekir.

Ne zaman kullanılır?

Formda sabit bir metin göstermek istediğinizde kullanın: bölüm başlığı, bir alanın açıklaması, kısa bir uyarı notu. Kullanıcının veri gireceği bir alan gerekiyorsa TextBox, bölümleri görsel olarak ayırmak istiyorsanız Divider daha uygundur.

Tasarımcı özellikleri

Bir Label seçildiğinde Özellik Görüntüleyici sekmelere ayrılır.

General

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

Behavior

ÖzellikAçıklama
FontYazı tipi, kalın / italik / altı çizili ve punto ayarları.
HeightNesnenin yüksekliği.
Line HeightSatır yüksekliği; çok satırlı yazıda satır aralığını ayarlar.
LoadingNesnenin üzerinde yükleniyor göstergesini açar/kapatır. Koddan ShowLoading() / HideLoading() ile yönetilir.
Context MenuNesneye bir sağ tık menüsü bağlar (ContextMenuKey, ContextMenuColumnKey, ContextMenuTarget).

Appearance

ÖzellikAçıklama
TextNesnenin gösterdiği yazı. MultiLanguageText (çok dilli) tipindedir. En çok kullanılan özelliktir.
TitleFareyle üzerine gelince çıkan ipucu yazısı. MultiLanguageText (çok dilli) tipindedir.
Text AlignYazının yatay hizası. HorizontalAlign enum'udur: Left, Center, Right.
CaptionNesnenin yanındaki etiket bloğu (ControlCaption): kendi Text, Font, HorizontalAlign, ShowColon (sonuna iki nokta ekler) ve MarkSettings ayarlarını taşır.
Style / Container StyleNesnenin ve onu saran hücrenin görünümü (BackgroundColor, Padding, Height).
Custom Class NameNesneye uygulanacak özel CSS sınıfı; özel görünüm vermek için kullanılır.
Visible / Client VisibleNesnenin görünürlüğü.
Enabled / Client EnabledNesnenin aktif olup olmadığı. (Default Enabled / Default Client Enabled tasarım zamanı varsayılanlarıdır.)

Olaylar

Label salt görsel bir nesnedir; bir değeri olmadığı için doğrulama (validation) ya da değer değişimi olayları yoktur. Yalnızca tıklama olaylarını ve genel yaşam döngüsü olaylarını sunar. Çoğu senaryoda hiçbir olaya gerek kalmadan Text özelliğini koddan değiştirmek yeterlidir.

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

Sunucu olayları (Server)

OlayNe zaman çalışırParametre
OnClickNesneye tıklanınca.MouseEventArgs
OnDoubleClickNesneye çift tıklanınca.MouseEventArgs

İstemci olayları (Client)

OlayNe zaman çalışır
OnClick / OnDoubleClickNesneye tıklanınca / çift tıklanınca.

Kod örnekleri

Label'ın bir değeri olmadığı için ondan değer okuyup yazmazsınız; gösterdiği yazıyı Text özelliğiyle değiştirirsiniz. Text bir MultiLanguageText olduğu için okurken .ToString() kullanılır. Sunucu örnekleri turuncu, istemci örnekleri kırmızı çerçevelidir.

Form kodu (C#, sunucu)

Form kodunda nesneye doğrudan adıyla erişirsiniz:

// Yazıyı oku (Text bir MultiLanguageText olduğu için ToString gerekir)
string baslik = Label1.Text.ToString();

// Yazıyı değiştir (düz string atamak o anki kültüre yazar)
Label1.Text = "Talep Bilgileri";

// Gizle / göster (Visible yerine yardımcı metotlar daha okunaklıdır)
Label1.Hide();
Label1.Show();

// Yükleniyor göstergesi
Label1.ShowLoading();
Label1.HideLoading();

// Nesneyi görünür alana kaydır
Label1.ScrollTo();

Belirli bir kültüre özel yazı atamak isterseniz Text'i bir MultiLanguageText olarak kurun:

// tr-TR için ayrı, en-US için ayrı yazı
Label1.Text = new MultiLanguageText(new Dictionary<string, string>
{
{ "tr-TR", "Talep Bilgileri" },
{ "en-US", "Request Details" }
});

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

Akış kodunda nesneye Document1.Controls üzerinden erişirsiniz:

// Yazıyı oku
string baslik = Document1.Controls["Label1"].Text?.ToString();

// Yazıyı değiştir
Document1.Controls["Label1"].Text = "Talep Bilgileri";

// Gizle
Document1.Controls["Label1"].Visible = false;

İstemci kodu (TypeScript, tarayıcı)

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

// Yazıyı değiştir
this.Label1.text = "Talep Bilgileri";

// Gizle / göster
this.Label1.visible = false;
Label'ı dinamik başlık olarak kullanma

Label'ın kendisi değer ya da değişim olayı tetiklemez, ama başka bir nesnenin olayından Label'ın Text özelliğini güncelleyebilirsiniz. Örneğin bir TextBox'ın OnValueChanged olayında (bu olay TextBox'a aittir, Label'a değil) this.Label1.text = "Sayın " + this.TextBox1.value; yazarak başlığı kullanıcının girdiği ada göre güncelleyebilirsiniz.

İpuçları

  • Label kullanıcının değiştiremeyeceği sabit yazılar içindir. Kullanıcının veri gireceği bir alan gerekiyorsa TextBox kullanın.
  • Label bir değer tutmaz ve hiçbir veritabanı alanına bağlanmaz; ReadOnly, Required ya da Tab Index gibi giriş nesnesi özellikleri Label'da bulunmaz.
  • Uzun bilgilendirme metinlerinde Line Height ile satır aralığını ayarlayarak okunabilirliği artırabilirsiniz.
  • Text çok dilli (MultiLanguageText) olduğu için, farklı dillerdeki kullanıcılar için ayrı karşılıklar tanımlayabilirsiniz.
  • Özel bir görünüm gerektiğinde Custom Class Name ile kendi CSS sınıfınızı uygulayabilirsiniz.
Tüm tasarımcı özellikleri (tam liste)

General: Name

Behavior: Font, Height, Line Height, Loading, Context Menu (ContextMenuKey / ContextMenuColumnKey / ContextMenuTarget)

Appearance: Text, Title, Text Align, Caption (Text / Font / HorizontalAlign / ShowColon / MarkSettings), Style, Container Style, Custom Class Name, Visible, Client Visible, Enabled, Client Enabled, Default Enabled, Default Client Enabled

Yöntemler (Server): Show(), Hide(), ScrollTo(), FireClick(), ShowLoading(), HideLoading(), ToggleLoading()

Olaylar (Server): OnClick, OnDoubleClick

Olaylar (Client): OnClick, OnDoubleClick