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
| Özellik | Açıklama |
|---|---|
Name | Nesnenin koddaki adı (ör. Label1). Koddan bu adla erişirsiniz. |
Behavior
| Özellik | Açıklama |
|---|---|
Font | Yazı tipi, kalın / italik / altı çizili ve punto ayarları. |
Height | Nesnenin yüksekliği. |
Line Height | Satır yüksekliği; çok satırlı yazıda satır aralığını ayarlar. |
Loading | Nesnenin üzerinde yükleniyor göstergesini açar/kapatır. Koddan ShowLoading() / HideLoading() ile yönetilir. |
Context Menu | Nesneye bir sağ tık menüsü bağlar (ContextMenuKey, ContextMenuColumnKey, ContextMenuTarget). |
Appearance
| Özellik | Açıklama |
|---|---|
Text | Nesnenin gösterdiği yazı. MultiLanguageText (çok dilli) tipindedir. En çok kullanılan özelliktir. |
Title | Fareyle üzerine gelince çıkan ipucu yazısı. MultiLanguageText (çok dilli) tipindedir. |
Text Align | Yazının yatay hizası. HorizontalAlign enum'udur: Left, Center, Right. |
Caption | Nesnenin yanındaki etiket bloğu (ControlCaption): kendi Text, Font, HorizontalAlign, ShowColon (sonuna iki nokta ekler) ve MarkSettings ayarlarını taşır. |
Style / Container Style | Nesnenin ve onu saran hücrenin görünümü (BackgroundColor, Padding, Height). |
Custom Class Name | Nesneye uygulanacak özel CSS sınıfı; özel görünüm vermek için kullanılır. |
Visible / Client Visible | Nesnenin görünürlüğü. |
Enabled / Client Enabled | Nesnenin 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)
| Olay | Ne zaman çalışır | Parametre |
|---|---|---|
OnClick | Nesneye tıklanınca. | MouseEventArgs |
OnDoubleClick | Nesneye çift tıklanınca. | MouseEventArgs |
İstemci olayları (Client)
| Olay | Ne zaman çalışır |
|---|---|
OnClick / OnDoubleClick | Nesneye 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'ı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,Requiredya daTab Indexgibi giriş nesnesi özellikleri Label'da bulunmaz. - Uzun bilgilendirme metinlerinde
Line Heightile 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 Nameile 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