c# uygulama örnekleri

Programlama öğrenmek için her zaman yeni örnekler denemelisiniz. Bunun için bugün sizlere C# ile Test Sınav Uygulaması Yapımı  programını aktaracağız. C# da 2 form nasıl çalıştırılır? C# ile Test Sınav Uygulaması Yapımı örneği nasıl olur? Gibi sorularınızın cevabını bu içeriğimizde bulabilirsiniz.

Programımızın ilk formu aşağıdaki gibidir.

C# ile Test Sınav Uygulaması Yapımı

Eğer Tc kimlik numaranızı eksik veya yanlış girerseniz ekrana şöyle bir mesaj gelecektir:

C# ile Test Sınav Uygulaması Yapımı

Eğer sınavınızı belirlenen süre içerisinde tamamlayamazsanız şöyle bir mesaj ekrana gelecektir:

C# ile Test Sınav Uygulaması Yapımı

Programımızın ikinci formunun görünümü aşağıdaki gibidir.

C# ile Test Sınav Uygulaması Yapımı

Kullanılması Gerekenler

C# ile Test Sınav Uygulaması Yapımı örneği için kullanılması gerekenler sırası ile aşağıdaki gibidir:
İlk form için 18 adet label, 2 textbox, 2 button, 4 adet groupbox ve 12 adet radiobutton.
İkinci form için  20 adet label, 2 textbox, 2 button , 4 adet groupbox ve 12 adet radiobutton.

Kod Alanı

Uygulamamız kullanıcı tarafından girilen Tc kimlik no ve Ad soyad bilgileri alınarak giriş yapıyor. Tc kimlik eksik veya yanlış ise uyarı mesajı veriyor.  Bilgiler girilip doğru olduğu taktir de testi başlat butonuna basarak testi başlatıyor.  Sınav süreci 20 saniye olduğu için timer kullanarak her saniye 20 saniyeden 1 saniye çıkararak süreyi azaltıyor.
Süre bittiği anda groupbox’lar pasif oluyor ve kullanıcı tarafından müdahale şansı artık kalmıyor. Testi bitir butonuna basarak isterseniz sınav süreniz bitmeden sınavı bitirebilirsiniz.  Sınav bittiği zaman ise doğru şıklar yeşil renge bürünüyor ve sonuçları ilgili labellera yazdırıyor. Bu uygulamamızın kod metninin aşamaları sırası ile aşağıdaki gibidir:
1) Testi başlat butonuna tıklandığı anda 2. formun oluşumu için yeni bir nesne oluşturuluyor.
2) Formumuz gizleniyor ve 2. form görünür hale geliyor
3) 2. formumuz için kod metnimiz de ilk önce sayac değişkenimizi oluşturuyoruz.
4) Doğru ve yanlış şıklarımızın sayısını öğrenmek için iki adet değişken oluşturuyoruz.
5) Her radiobutton için tek tek sonuç yazmak yerine bir metot oluşturuyoruz.
6) Metot ile sadece doğru olan cevapları kullanıyoruz. Metot kullanmasaydık her radiobutton için tek tek yazmak zorunda kalacaktık.
7) Eğer metoda gönderilmiş radiobutton seçili ise doğru sayısını artırıp radiobuttonun arka planını yeşile boyuyoruz.
8) Eğer seçili değilse yanlış sayısını artırıyoruz.
9) Doğru ve yanlış sayılarını ilgili labellere aktarıyoruz.
10)  Groupboxlarımızı hepsini tek bir kod ile kapatmak için bir metot oluşturuyoruz. Böylelikle groupboxlarımızın içerisin de hiç bir işlem yapılamıyor.
11) Aynı şekilde groupboxlarımızın hepsini tek bir kod ile açmak için bir metot daha oluşturuyoruz. Böylelikle groupboxlarımızın içerisinde işlem yapılabiliyor.
12) Timerımız çalıştığı anda sayacımız her bir saniye geriye gitmeye başlıyor. İlgili labele süre değişkenini atıyoruz.
13) Eğer süremiz dolmuş ise timerımızı durduruyor ve groupboxlarımızı pasif hale getiriyoruz.
14) Kullanıcılara sürenin bittiğini bildiriyor ve formdaki tüm butonları pasif hale getiriyoruz.
15) Soruların doğru cevaplarını ilgili sonuçlar metodumuza gönderiyoruz.
16) Testi başlat butonuna tıkladığımız anda tc kimlik ve ad soyad kısmı boş veya yanlış ise kullanıcıya mesaj gönderiyoruz.
17) Tc kimlik ve ad soyad kısmındaki sorunlar çözülmüş ise timerımızı ve groupboxlarımız aktifleştiriyoruz.
18) Tc kimlik no ve ad soyadı ilgili labellere aktarıyoruz. Testi başlat butonumuzu pasif hale getiriyoruz.
19) Formumuz ilk açıldığında groupboxlarımız pasif durumda oluyor.
20) Testi bitir butonuna tıkladığımız anda groupboxlarımızı pasif konuma getiriyoruz.
21) Testi bitir butonun pasif hale getirip, timerımızı pasif hale getiriyoruz.
22) Soruların doğru cevaplarını ilgili metodumuza yolluyoruz.
Bu uygulamamızın kod metni 2 forumlu olduğu için 2 parçaya böldük işte sırası ile kod metni şu şekildedir:
Form1
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace FormSinavProgrami
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {}
 
        private void button1_Click(object sender, EventArgs e)
        {
            FormAdSoyad frm2 = new FormAdSoyad(); 
            frm2.Show();
            this.Hide();
             
        }
    }
}
Form2
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace FormSinavProgrami
{
    public partial class FormAdSoyad : Form
    {
 
        int sayac = 20;
        int dogru = 0,yanlis = 0;

         
         public void sonuclar(RadioButton seciliolan)
        {

            if (seciliolan.Checked == true)
            {
                dogru++;
                seciliolan.BackColor = Color.Green;
            }
            else
            {
                 
                yanlis++;
            }
            labelDogruSayiSonuc.Text = dogru.ToString();
            labelYanlisSayiSonuc.Text = yanlis.ToString();
 
        }
 
        public void grupFalse()
        {
            groupBox1.Enabled = false;
            groupBox2.Enabled = false;
            groupBox3.Enabled = false;
            groupBox4.Enabled = false;
    }
        public void grupTrue()
        {
            groupBox1.Enabled = true;
            groupBox2.Enabled = true;
            groupBox3.Enabled = true;
            groupBox4.Enabled = true;
        }
 
        public FormAdSoyad()
        {
            InitializeComponent();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            sayac--;
            labelSayac.Text = sayac.ToString();
            if (sayac == 0)
            {
                timer1.Enabled = false;
                grupFalse();
                MessageBox.Show("Süreniz dolmuştur");
                buttonTestBaslat.Enabled = false;
                buttonTestBitir.Enabled = false;
                sonuclar(radioButton4);
                sonuclar(radioButton5);
                sonuclar(radioButton11);
                sonuclar(radioButton16);
 
            }
        }
 
        private void buttonTestBaslat_Click(object sender, EventArgs e)
        {

            if ((textBoxTCNo.Text == "") || (textBoxAdSoyad.Text == ""))
            {
                MessageBox.Show("Lütfen gerekli bölümleri doldurunuz");
            }
            else if (textBoxTCNo.Text.Length != 11)
            {
                MessageBox.Show("TC kimlik numaranız 11 haneden oluşmalıdır");
            }
            else
            {
                timer1.Enabled = true;
                grupTrue();
                labelTCNoSonuc2.Text = textBoxTCNo.Text; ;
                labelAdSoyadSonuc2.Text = textBoxAdSoyad.Text;
                buttonTestBaslat.Enabled = false;
            }
        }
        private void groupBox1_Enter(object sender, EventArgs e)
        {        }
 
        private void label1_Click(object sender, EventArgs e)
        {        }
 
        private void FormAdSoyad_Load(object sender, EventArgs e)
        {
            grupFalse();
        }

        private void buttonTestBitir_Click(object sender, EventArgs e)
        {
            grupFalse();
            buttonTestBitir.Enabled = false;
            timer1.Enabled = false;
            sonuclar(radioButton4);
            sonuclar(radioButton5);
            sonuclar(radioButton11);
            sonuclar(radioButton16);
        }
    }
}
Bu uygulamada herhangi bir sorun yaşarsanız aşağıya yorum olarak bırakabilirsiniz. Bunun yanı sıra web sitemizdeki diğer hazır C# programlama örneklerine ulaşmak için bu linke tıklayabilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir