C#, Vitrin

C# Görsel Programlama- Sınıf Kullanımı – Soru Cevap Uygulaması

Bu örnekte basit bir soru-cevap uygulaması yapılacaktır. Formun tasarımı aşağıdaki gibi olacaktır.

Sorular için bir Soru sınıfı hazırlayacağız.Bu sınıfın içerisinde bu örnek için değişkenlerimiz public yapılacak ve dışarıdan erişim için herhangi bir getter veya setter fonksiyonu kullanmayacağız. Sınıfın yapısı aşağıdaki gibi olacak.

class Soru
    { 
        public int soruId;
        public string soruIcerik, secenekA, secenekB, secenekC, dogruCevap, aciklama;

        public Soru() { }

        public void soruyuGoster() {
            MessageBox.Show(soruId + "-" + soruIcerik);
        }
    }

Yukarıdaki sınıfta yapıcı(constructor) herhangi bir parametre almamıştır. soruyuGoster fonksiyonu ise test amaçlı yazılmıştır.

Kullanıcı uygulamayı açtığında yani Form’un Load olayında Soru sınıfından soru1 adında bir nesne üretip bunun değerlerini kendimiz el ile gireceğiz. (İleriki derslerde bu işlemi veritabanından çekerek otomatik yapacağız.) Ardından bu soru1 nesnesinin değerlerini textbox’lara aktaracağız. Yani önce nesne oluşturduk ve bu soru nesnesinin değerlerini girdik. Ardından bu değerleri textbox’lara aktardık. soru1 nesnesini global olarak tanımlıyoruz. Yani Form1 sınıfının en üstünde. Buna dikkat edelim !!

Soru soru1;

Şimdide Form1_Load olayının içeriğini yazalım.

private void Form1_Load(object sender, EventArgs e)
        {
            soru1 = new Soru();
            soru1.soruId = 1;
            soru1.soruIcerik = "Cumhuriyet kaç yılında ilan edilmiştir ?";
            soru1.secenekA = "1919";
            soru1.secenekB = "1920";
            soru1.secenekC = "1923";
            soru1.aciklama = "Cumhuriyet Atatürk ve değerli silah arkadaşları tarafından 29 Ekim 1923 tarihinde ilan edilmiştir.";
            soru1.dogruCevap = "C";

            txtSoruIcerik.Text = soru1.soruIcerik;
            txtSecenekA.Text = soru1.secenekA;
            txtSecenekB.Text = soru1.secenekB;
            txtSecenekC.Text = soru1.secenekC;
           
        }

Ardından kullanıcının butonlara tıkladığında doğru veya yanlış cevap olduğunu bildirmek için gerekli fonksiyonları yazalım.

private void btnA_Click(object sender, EventArgs e)
        {
            if (soru1.dogruCevap == "A")
            {
                
                txtAciklama.Text = soru1.aciklama;
                txtSecenekA.BackColor = Color.Green;
                MessageBox.Show("Tebrikler");

            }
            else
            {
                txtSecenekA.BackColor = Color.Red;
                MessageBox.Show("Hatalı cevap");

            }
        }

        private void btnB_Click(object sender, EventArgs e)
        {
            if (soru1.dogruCevap == "B")
            {
                txtSecenekB.BackColor = Color.Green;
                txtAciklama.Text = soru1.aciklama;
                MessageBox.Show("Tebrikler");
                
            }
            else
            {
                txtSecenekB.BackColor = Color.Red;
                MessageBox.Show("Hatalı cevap");

            }
        }

        private void btnC_Click(object sender, EventArgs e)
        {
            if (soru1.dogruCevap == "C")
            {
                txtSecenekC.BackColor = Color.Green;
                txtAciklama.Text = soru1.aciklama;
                MessageBox.Show("Tebrikler");
                
            }
            else
            {
                txtSecenekC.BackColor = Color.Red;
                MessageBox.Show("Hatalı cevap");

            }
        }

Projenin tüm kodlarını aşağıdaki bağlantıya tıklayarak indirebilirsiniz.

Soru Cevap Uygulamasını İndir

Bir cevap yazın