C# Windows Form’da Convert Dönüşümleri

C# programlama dilinde, farklı veri türleri arasında dönüşüm yapmak yaygın bir ihtiyaçtır. Windows Form uygulamalarında, kullanıcıdan alınan metin girişlerini işlemek veya sonuçları farklı veri türlerinde göstermek için Convert sınıfı sıkça kullanılır.

Bu yazıda, Windows Form’da Convert sınıfını kullanarak veri türleri arasında dönüşüm işlemlerinin nasıl yapıldığını örneklerle açıklayacağız.


Convert Sınıfı Nedir?

Convert sınıfı, C#’ta temel veri türleri arasında dönüşüm yapmayı sağlayan bir sınıftır.
Sık kullanılan yöntemleri:

  • ToInt32: Bir değeri int türüne dönüştürür.
  • ToDouble: Bir değeri double türüne dönüştürür.
  • ToString: Bir değeri string türüne dönüştürür.
  • ToBoolean: Bir değeri bool türüne dönüştürür.

1. Metin Girişinden Sayıya Dönüşüm (ToInt32)

Senaryo: Kullanıcı bir TextBox’a sayı girer. Bu sayı, int türüne dönüştürülerek bir toplama işleminde kullanılır.

Arayüz Tasarımı:

  • TextBox: (txtSayi1, txtSayi2)
  • Button: (btnTopla)
  • Label: (lblSonuc)

Kod:

private void btnTopla_Click(object sender, EventArgs e)
{
    int sayi1 = Convert.ToInt32(txtSayi1.Text);
    int sayi2 = Convert.ToInt32(txtSayi2.Text);
    int toplam = sayi1 + sayi2;

    lblSonuc.Text = "Toplam: " + toplam.ToString();
}

Açıklama:

  • Kullanıcıdan alınan metin (txtSayi1.Text ve txtSayi2.Text) Convert.ToInt32 kullanılarak tam sayıya dönüştürülür.
  • İki sayı toplandıktan sonra, sonuç bir Label üzerinde gösterilir.

2. Ondalık Sayıya Dönüşüm (ToDouble)

Senaryo: Kullanıcıdan alınan iki ondalık sayı, çarpma işlemine tabi tutulur.

Arayüz Tasarımı:

  • TextBox: (txtSayi1, txtSayi2)
  • Button: (btnCarp)
  • Label: (lblSonuc)

Kod:

private void btnCarp_Click(object sender, EventArgs e)
{
    double sayi1 = Convert.ToDouble(txtSayi1.Text);
    double sayi2 = Convert.ToDouble(txtSayi2.Text);
    double carpim = sayi1 * sayi2;

    lblSonuc.Text = "Çarpım: " + carpim.ToString();
}

Açıklama:

  • Convert.ToDouble, metin girişini ondalık sayıya dönüştürmek için kullanılır.
  • Çarpma işleminin sonucu bir Label üzerinde gösterilir.

3. Bool Türüne Dönüşüm (ToBoolean)

Senaryo: Kullanıcı bir CheckBox’ın seçili olup olmadığını belirler ve bu bilgi bir Label üzerinde gösterilir.

Arayüz Tasarımı:

  • CheckBox: (chkOnay)
  • Button: (btnKontrol)
  • Label: (lblSonuc)

Kod:

private void btnKontrol_Click(object sender, EventArgs e)
{
    bool onayDurumu = Convert.ToBoolean(chkOnay.Checked);
    
    if (onayDurumu)
    {
        lblSonuc.Text = "Onay verdiniz.";
    }
    else
    {
        lblSonuc.Text = "Onay vermediniz.";
    }
}

Açıklama:

  • Convert.ToBoolean, CheckBox’ın Checked özelliğini bool türüne dönüştürür.
  • Kullanıcının seçimi doğrultusunda bir mesaj gösterilir.

4. Sayıdan Metne Dönüşüm (ToString)

Senaryo: Bir hesaplama sonucu, TextBox veya Label’da görüntülenmek üzere metne dönüştürülür.

Kod:

int sonuc = 42;
txtSonuc.Text = sonuc.ToString();

Açıklama:

  • ToString, sayısal bir değeri metne dönüştürerek kullanıcı arayüzünde gösterilmesini sağlar.

5. Tarih Dönüşümleri

Senaryo: Kullanıcının girdiği bir tarih metni, DateTime türüne dönüştürülür.

Arayüz Tasarımı:

  • TextBox: (txtTarih)
  • Button: (btnTarihGoster)
  • Label: (lblSonuc)

Kod:

private void btnTarihGoster_Click(object sender, EventArgs e)
{
    DateTime tarih = Convert.ToDateTime(txtTarih.Text);
    lblSonuc.Text = "Girdiğiniz Tarih: " + tarih.ToShortDateString();
}

Açıklama:

  • Convert.ToDateTime, bir metni tarih türüne dönüştürür.
  • Tarih bilgisi kısa formatta (ToShortDateString) gösterilir.

Dönüşüm Hatalarını Önlemek

Eğer bir metin doğru formatta değilse, dönüşüm sırasında hata alınabilir. Bu durumu önlemek için try-catch yapısı kullanılabilir:

private void btnKontrolEt_Click(object sender, EventArgs e)
{
    try
    {
        int sayi = Convert.ToInt32(txtSayi.Text);
        lblSonuc.Text = "Girilen sayı: " + sayi;
    }
    catch (FormatException)
    {
        lblSonuc.Text = "Lütfen geçerli bir sayı girin.";
    }
}

Açıklama:

  • try-catch yapısı, hataları yakalar ve programın çökmesini engeller.

One comment

Leave a Reply

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir