Windows Form ile C # 'DA HESAP MAKİNESİ NASIL YAPILIR

Merhaba, C# Windows Form Application ile Hesap makinası hazırlayacağız. Öncelikle

  • bir adet TextBox 
  • 18 Adet Button
    araçlarını formumuza sürüklüyoruz ve aşağıdaki gibi tasarım hazırlıyoruz.


Sonrasında F7 ile kod kısmına geçip aşağıdaki değişkenleri ekliyoruz.
 double value;
        string coperator;
        bool check;

PNumber Adında bir fonksiyon oluşturacağız ve Bütün Rakamlarla birlikte (,) butonunun click eventine bu fonksiyonu atayacağız. Fonksiyonun kodları şu şekilde olacak.
private void PNumber(object sender, EventArgs e)
        {
            if ((coperator == "+") || (coperator == "-") || (coperator == "*") || (coperator == "/"))
            {
                if (check)
                {
                    check = false;
                    TxtGiris.Text = "0";
                }
            }
            Button b = sender as Button;
            if (TxtGiris.Text == "0")
                TxtGiris.Text = b.Text;
            else
                TxtGiris.Text += b.Text;
        }

Bu fonksiyonu yazdıktan sonra rakam ve virgül butonlarına atamak için şu yöntemi kullanıyoruz.

Properties Penceresi sağ tarafta açık değilse View -> Properties Window yolunu izleyerek açabilirsiniz. Bu pencereden Events yani yıldırım simgesine tıklamalısınız.

Bu kısma kadar her şey tamamsa eklememiz gereken bir fonksiyon daha var buda işlem operatörleri için kullanacağımız POperator fonksiyonudur. Bu fonksiyonu da aynı şekilde +,-,/,* butonlarının click eventlerine ekleyeceğiz. Fonksiyon kodları şu şekilde olacak.

   private void POperator(object sender, EventArgs e)
        {
            Button b = sender as Button;
            value = double.Parse(TxtGiris.Text);
            coperator = b.Text;
            TxtGiris.Text += b.Text;
            check = true;
        }

Atam işlemleri tamamlandıysa Eşittir Butonumuza çift tıklayıp click kodlarına geleceğiz ve oraya ekleyeceğimiz kodlar şu şekilde olmalıdır:

 private void button18_Click(object sender, EventArgs e)
        {//Eşittir butonu
            try
            {
                switch (coperator)
                {
                    case "+":
                        TxtGiris.Text = (value + double.Parse(TxtGiris.Text)).ToString();
                        break;
                    case "-":
                        TxtGiris.Text = (value - double.Parse(TxtGiris.Text)).ToString();
                        break;
                    case "*":
                        TxtGiris.Text = (value * double.Parse(TxtGiris.Text)).ToString();
                        break;
                    case "/":
                        TxtGiris.Text = (value / double.Parse(TxtGiris.Text)).ToString();
                        break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

Bende eşittir butonu button18 sizde farklı olabilir hiç sorun değil. Eşittir işlemini yapacak butonun içine yazmalısınız kodları.
Bu kısımda tamamsa CE ve C butonlarının kodlarını yazalım. İlk olarak CE butonu kodları şu şekilde olacak:
 TxtGiris.Text = "0";
            value = 0;

Bu arada ben textbox aracıma TxtGiris adını verdim. Sizde verdiğiniz ismi benim kodlarımda TxtGiris yazan yer ile değiştirebilirsiniz.

C Butonu kodlarına şunu ekleyelim:

TxtGiris.Text = "0";

Ve bu kodlar eklendikten sonra atamalarda problem yok ise kodlarınız sorunsuz çalışacak ve dinamik bir hesap makineniz olmuş olacaktır. Bunu süslemek isterseniz klavyeden tuşlara basıldığını algılamak için textlerin keys özelliklerinden faydalanabilirsiniz.

Her türlü soru ve önerilerinizi yorum bırakarak belirtebilirsiniz. Ayrıca daha hızlı iletişim ve yeni kaynaklardan haberdar olmak için sosyal medya hesaplarımdan, videolu eğitimler için youtube kanalımdan beni takip edebilirsiniz. Sevgiyle :)

Yorumlar

Bu blogdaki popüler yayınlar

Yazıcıda Bekleyen Belgeleri Hızlıca Temizleme

C# ile SQL Veritabanı Yedeğini Alma

SQL SERVER'da sa ve diğer kullanıcıları aktif etme