Çözüldü C# textboxa veri ekleyip toplama

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Acı Rakı

Decapat
Katılım
25 Haziran 2021
Mesajlar
727
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Selamlar C# dilinde Visual Studio ile bir program yapıyorum ve şöyle bir şeye ihtiyacım var; textboxa örneğin 2 yazıldı ve butona basıldı ve bunu labele yazıdıracak ama textboxa örneğin bu sefer 3 yazılıp butona basıldı o zaman labele 5 yazdıracak yani textboxa girilen veriyi labele aktaracak ama her girilen sayıyı labelin üstündeki sayıya katacak. Lütfen yardımcı olun.
 
Çözüm
Label9'da ne yazıyor? Toplam yazan label değil mi? int türüne çevirirken sıkıntı çıkıyor. Yüksek ihtimalle içinde yazı bulunduruyor. "Toplam" yazısı farklı labelde ve sayıların toplamının yazacağı labelin ayrı olup onun yanına konması gerekmekte. Sonra yeni oluşturduğumuz labelin textini çevirip toplama işlemini gerçekleştireceğiz.

Attığınız programı inceledim. Program ilk başlatıldığında label9.Text "label9" olduğu için integer türüne çeviremiyor. Buna program başladığında
C#:
label9.Text = "0";
şeklinde sıfır yazdırdım. Sorun ortadan kalktı. @Acı Rakı

[CODE lang="csharp" highlight="4"] public Form1()
{
InitializeComponent();
label9.Text = "0";
}

private void button1_Click(object sender, EventArgs e)
{
int sonuc;
sonuc = Int32.Parse(label9.Text) + Int32.Parse(textBox1.Text);
label9.Text = sonuc.ToString();

}[/CODE]
Selam, problem çözülmüş herkesin eline sağlık. Ama ben olsam bu problemi bu şekilde çözmezdim, eğer sorunu yanlış anladıysam beni düzeltmekten çekinme.

Bir label'da textbox'a yazdığın tüm sayıların toplamını tutmak istiyorsun diye anladım. Bunu yapmak için her seferinde label'daki yazıyı okumak yerine bir toplam değişkeni tutmalı ve label'ı bu toplam değişkeninin set'terı içinde tutmalısın.

C#:
private int toplam
{
    get { return toplam; }
    set
    {
       toplam = value;
       <label_degiskeni>.Text = Convert.ToString(toplam);
    }
}

Bu şekilde ilerlediğinde toplam değişkeni her değiştiğinde label da değişecektir.
 
Selam, problem çözülmüş herkesin eline sağlık. Ama ben olsam bu problemi bu şekilde çözmezdim, eğer sorunu yanlış anladıysam beni düzeltmekten çekinme.

Bir label'da textbox'a yazdığın tüm sayıların toplamını tutmak istiyorsun diye anladım. Bunu yapmak için her seferinde label'daki yazıyı okumak yerine bir toplam değişkeni tutmalı ve label'ı bu toplam değişkeninin set'terı içinde tutmalısın.

C#:
private int toplam
{
    get { return toplam; }
    set
    {
       toplam = value;
       <label_degiskeni>.Text = Convert.ToString(toplam);
    }
}

Bu şekilde ilerlediğinde toplam değişkeni her değiştiğinde label da değişecektir.
toplam += value; şeklinde değiştirirseniz daha doğru olacaktır.
 

Geri
Yukarı