C# Windows Forms TextBox ve Label Kullanımı ve Özellikleri
Windows Forms uygulamalarında kullanıcıdan veri almak ve alınan verileri ekranda göstermek için TextBox ve Label kontrolleri kullanılır. TextBox kullanıcının klavyeyle metin girmesini sağlarken Label, kullanıcıya bilgi veya sonuç göstermek amacıyla kullanılır.
Örneğin kullanıcıdan ad, soyad, yaş veya e-posta adresi istendiğinde TextBox kullanılabilir. Girilen bilgileri ekranda göstermek için ise Label kontrolünden yararlanılabilir.
Bu makalede Visual Studio'da TextBox ve Label kullanımı, önemli özellikleri ve TextBox'a girilen bilginin Label üzerinde gösterilmesi anlatılmaktadır.
1. TextBox Nedir?
TextBox, Windows Forms uygulamalarında kullanıcının klavye aracılığıyla metin girmesini sağlayan bir kontroldür.
Örneğin kullanıcıdan adını, soyadını, yaşını veya adresini girmesini istediğimizde TextBox kullanabiliriz.
TextBox kontrolüne girilen bilgiler, kontrolün Text özelliği içerisinde tutulur.
string ad = textBox1.Text;
Bu kod ile textBox1 isimli TextBox içerisine kullanıcının girdiği metin, ad isimli değişkene aktarılır.
2. Label Nedir?
Label, Windows Forms uygulamalarında kullanıcıya metin göstermek amacıyla kullanılan bir kontroldür.
Label genellikle form üzerindeki açıklamaları, bilgilendirme mesajlarını ve işlem sonuçlarını göstermek için kullanılır.
Label kontrolünde görüntülenecek metin Text özelliği üzerinden belirlenir.
label1.Text = "Merhaba Dünya";
Bu kod çalıştırıldığında Label üzerinde Merhaba Dünya yazısı görüntülenir.
3. Visual Studio'da TextBox ve Label Ekleme
Windows Forms tasarım ekranında TextBox ve Label eklemek için aşağıdaki adımları izleyebilirsiniz:
-
Form tasarım ekranını açın.
-
Araç Kutusu (Toolbox) bölümünü açın.
-
TextBox kontrolünü bulun ve form üzerine sürükleyin.
-
Label kontrolünü bulun ve form üzerine sürükleyin.
-
Özellikler penceresinden kontrollerin Name ve Text özelliklerini ayarlayın.
Örneğimizde kullanıcıdan adını alacağız ve girilen adı bir Label üzerinde göstereceğiz. Formumuza bir TextBox, iki Label ve bir Button ekleyelim.
-
Birinci Label: Name: label1, Text: Adınızı Giriniz:
-
TextBox: Name: textBox1, Text: Boş bırakılacak.
-
İkinci Label: Name: label2, Text: Sonuç burada gösterilecek
-
Button: Name: button1, Text: Göster
Name, kontrolün kod içerisinde kullanılan adıdır. Text ise kontrolün üzerinde görüntülenen yazıdır.
4. TextBox'ın Önemli Özellikleri
TextBox kontrolünü seçtiğimizde Özellikler penceresinden kontrolün görünümünü ve davranışını değiştirebiliriz. En sık kullanılan özellikler şunlardır:
-
Name: Kontrolün kod içerisinde kullanılan adını belirler.
-
Text: TextBox içerisinde bulunan veya kullanıcı tarafından girilen metni belirtir.
-
MaxLength: Girilebilecek maksimum karakter sayısını belirler.
-
Multiline: Birden fazla satır halinde metin girilmesini sağlar.
-
ReadOnly: TextBox içerisindeki metnin kullanıcı tarafından değiştirilmesini engeller.
-
PasswordChar: Girilen karakterlerin belirlenen bir karakterle gizlenmesini sağlar.
-
UseSystemPasswordChar: Parola girişlerinde varsayılan parola karakterini kullanır.
-
Enabled: Kontrolün kullanılabilir olup olmadığını belirler.
-
Visible: Kontrolün formda görünüp görünmeyeceğini belirler.
-
CharacterCasing: Girilen harflerin büyük veya küçük harfe dönüştürülmesini sağlar.
-
ScrollBars: Çok satırlı TextBox içerisinde kaydırma çubuklarını görüntüler.
-
TextAlign: Girilen metnin hizasını belirler.
-
Font: Yazı tipini ve boyutunu belirler.
-
ForeColor: Yazının rengini belirler.
-
BackColor: Arka plan rengini belirler.
-
BorderStyle: Kontrolün kenarlık görünümünü belirler.
5. Label'ın Önemli Özellikleri
Label kontrolü de Özellikler penceresinden düzenlenebilir. En sık kullanılan özellikleri şunlardır:
-
Name: Kontrolün kod içerisinde kullanılan adını belirler.
-
Text: Label üzerinde görüntülenecek metni belirler.
-
AutoSize: Label boyutunun içerisindeki metne göre otomatik ayarlanmasını sağlar.
-
BorderStyle: Label kontrolünün kenarlık görünümünü belirler.
-
TextAlign: Label içerisindeki yazının hizasını belirler.
-
Font: Yazı tipini ve boyutunu belirler.
-
ForeColor: Yazının rengini belirler.
-
BackColor: Arka plan rengini belirler.
-
Enabled: Kontrolün etkin olup olmadığını belirler.
-
Visible: Label kontrolünün görünürlüğünü belirler.
-
MaximumSize: Label kontrolünün maksimum boyutunu belirler.
-
MinimumSize: Label kontrolünün minimum boyutunu belirler.
6. TextBox'ın Text Özelliğini Kullanma
TextBox içerisine girilen metne erişmek için Text özelliği kullanılır.
string ad = textBox1.Text;
Bu kodda textBox1 içerisindeki metin okunur ve ad isimli string değişkenine aktarılır.
TextBox içerisindeki metni değiştirmek de mümkündür:
textBox1.Text = "Ahmet";
Bu kod çalıştırıldığında TextBox içerisinde Ahmet yazısı görüntülenir.
TextBox içerisindeki bütün metni temizlemek için Clear() metodu kullanılabilir:
textBox1.Clear();
7. Label'ın Text Özelliğini Kullanma
Label üzerinde metin göstermek için Text özelliğine değer atayabiliriz.
label1.Text = "Hoş Geldiniz";
Bu kod çalıştırıldığında Label üzerinde Hoş Geldiniz yazısı görüntülenir.
Label üzerindeki mevcut metni temizlemek için:
label1.Text = "";
8. TextBox'a Girilen Bilgiyi Label Üzerinde Gösterme
Şimdi TextBox ve Label kontrollerini birlikte kullanalım.
Örneğimizde kullanıcı TextBox içerisine adını yazacak ve Göster butonuna tıkladığında girdiği isim Label üzerinde görüntülenecek.
Form tasarımında button1 isimli butona çift tıklayın. Visual Studio, butonun Click olayı için aşağıdaki metodu oluşturacaktır:
private void button1_Click(object sender, EventArgs e)
{
label2.Text = textBox1.Text;
}
Bu kodda textBox1.Text ifadesiyle kullanıcının girdiği metin alınır ve label2.Text özelliğine aktarılır.
Böylece kullanıcı TextBox içerisine Mehmet yazdığında Göster butonuna tıkladıktan sonra Label üzerinde Mehmet yazısı görüntülenir.
Kodun çalışma mantığı
Butona tıklandığında program TextBox içerisindeki metni okur ve bu metni Label kontrolünün Text özelliğine aktarır. Böylece kullanıcının girdiği bilgi Label üzerinde görüntülenir.
9. TextBox Boş Mu Kontrolü Yapma
Kullanıcının TextBox içerisine herhangi bir bilgi girmeden butona tıklamasını engellemek isteyebiliriz. Bu durumda TextBox'ın boş olup olmadığını kontrol edebiliriz.
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "")
{
label2.Text = "Lütfen adınızı girin.";
}
else
{
label2.Text = "Merhaba " + textBox1.Text;
}
}
Bu örnekte program ilk olarak TextBox içerisinin boş olup olmadığını kontrol eder.
Eğer TextBox boşsa Label üzerinde Lütfen adınızı girin. mesajı görüntülenir. Kullanıcı bir isim girdiyse Label üzerinde Merhaba ve girilen isim birlikte gösterilir.
Aynı kontrolü C# dilindeki string.IsNullOrWhiteSpace() metodu ile daha kapsamlı şekilde gerçekleştirebiliriz:
if (string.IsNullOrWhiteSpace(textBox1.Text))
{
label2.Text = "Lütfen adınızı girin.";
}
else
{
label2.Text = "Merhaba " + textBox1.Text;
}
Bu kullanım yalnızca boş metni değil, sadece boşluk karakterlerinden oluşan metinleri de kontrol eder.
10. TextBox'ın MaxLength Özelliği
TextBox kontrolünde kullanıcının girebileceği karakter sayısını sınırlandırmak için MaxLength özelliği kullanılır.
Örneğin kullanıcıdan en fazla 10 karakter uzunluğunda bir bilgi almak istiyorsak MaxLength değerini 10 olarak ayarlayabiliriz.
textBox1.MaxLength = 10;
Bu kod sayesinde kullanıcı TextBox içerisine en fazla 10 karakter girebilir.
11. Multiline Özelliği ile Çok Satırlı Metin Girişi
TextBox kontrolünün varsayılan Multiline değeri false şeklindedir. Birden fazla satır halinde metin girişi yapılmasını istiyorsak Multiline özelliğini true yapmamız gerekir.
textBox1.Multiline = true;
Bu özellik aktif edildiğinde TextBox içerisinde birden fazla satır metin yazılabilir.
Metin alanında kaydırma çubuklarının görünmesini sağlamak için ScrollBars özelliği de kullanılabilir:
textBox1.ScrollBars = ScrollBars.Vertical;
12. PasswordChar Özelliği ile Şifre Girişi
TextBox kontrolü kullanıcıdan parola almak için de kullanılabilir. Parola girişinde yazılan karakterleri gizlemek için PasswordChar özelliğinden yararlanabiliriz.
textBox1.PasswordChar = '*';
Bu kod çalıştırıldığında kullanıcı TextBox içerisine bir karakter girdiğinde ekranda yıldız (*) işareti görüntülenir.
Diğer bir yöntem ise UseSystemPasswordChar özelliğini kullanmaktır:
textBox1.UseSystemPasswordChar = true;
13. TextChanged Olayı
TextBox kontrolünde metin değişikliklerini takip etmek için TextChanged olayı kullanılır.
Bu olay, TextBox içerisindeki metin değiştiğinde çalışır. Örneğin kullanıcı TextBox içerisine yazı yazdıkça Label üzerinde de aynı metnin görüntülenmesini sağlayabiliriz.
private void textBox1_TextChanged(object sender, EventArgs e)
{
label2.Text = textBox1.Text;
}
Bu örnekte kullanıcı TextBox içerisine her yeni karakter girdiğinde veya mevcut metni değiştirdiğinde Label otomatik olarak güncellenir.
TextChanged olayını oluşturmak için tasarım ekranında TextBox kontrolüne çift tıklayabilir veya Özellikler penceresindeki olaylar bölümünden TextChanged olayını seçebilirsiniz.
14. TextBox ve Label Kullanırken Dikkat Edilmesi Gerekenler
-
TextBox, kullanıcıdan veri almak için kullanılır.
-
Label, kullanıcıya bilgi veya sonuç göstermek için kullanılır.
-
TextBox içerisindeki metne erişmek için Text özelliği kullanılır.
-
Label üzerinde metin göstermek için yine Text özelliği kullanılır.
-
TextBox içerisindeki metni temizlemek için Clear() metodu kullanılabilir.
-
Kullanıcının girebileceği karakter sayısını sınırlandırmak için MaxLength özelliğinden yararlanılabilir.
-
Birden fazla satır metin girişi için Multiline özelliği true yapılmalıdır.
-
Parola girişlerinde PasswordChar veya UseSystemPasswordChar kullanılabilir.
-
TextBox içerisindeki değişiklikleri anlık takip etmek için TextChanged olayından yararlanılabilir.
-
Kullanıcıdan veri alınırken boş giriş kontrolü yapılması önerilir.
15. Konunun Özeti
-
TextBox: Kullanıcıdan metin veya bilgi almak için kullanılır.
-
Label: Form üzerinde kullanıcıya metin ve bilgi göstermek için kullanılır.
-
Name: Kontrolün kod içerisinde kullanılan adıdır.
-
Text: TextBox içerisindeki metni veya Label üzerinde görüntülenecek yazıyı belirtir.
-
MaxLength: TextBox içerisine girilebilecek maksimum karakter sayısını belirler.
-
Multiline: Birden fazla satır metin girişine izin verir.
-
PasswordChar: Parola girişinde karakterleri gizlemek için kullanılır.
-
Clear(): TextBox içerisindeki metni temizler.
-
TextChanged: TextBox içerisindeki metin değiştiğinde çalışır.
-
Click: Butona tıklandığında çalışır.
TextBox ve Label kontrolleri Windows Forms uygulamalarının temel bileşenleri arasında yer alır. TextBox ile kullanıcıdan veri alabilir, Label ile bu verileri veya işlem sonuçlarını ekranda gösterebiliriz. Bu iki kontrol birlikte kullanılarak kullanıcı giriş formları, bilgi ekranları ve basit veri işleme uygulamaları kolayca hazırlanabilir.