Responsive Reklam Alanı

C Sharp Form Kapatma İşlemi emresupcin - C# Formunuzu Saniyelerle Kapatın!Merhaba arkadaşlar,

Bu projemiz de formumuzu geri sayımla kapatmayı göreceğiz. Projemiz için gerekenler;  Adet textbox, label, buton ve timer. Formunuzun başlığını silin başlık kısmı boş kalsın tabi siz kafanıza göre bir şey de yazabilirsiniz. Label ın text ini ben süreyi gir dedim siz kendinize uygun birşey yazabilirsiniz. Butonun text ini Formu Kapat yazdım. Aşağıda global bir değişken tanımlayalım.

 

1  int saniye;

 

Formun load olayına asağıdaki kodları yazdım.

 

1   private void Form1_Load(object sender, EventArgs e)
2        {
3            button1.Enabled = false;
4        }

 

Buton ilk açılışta pasif görünecek.

Butonu aktif etmek için textbox a birşeyler girmeye başlayınca buton aktif olacak.Kod aşağıda;

 

1  private void textBox1_TextChanged(object sender, EventArgs e)
2        {
3            button1.Enabled = true;
4        }
5
     // Butonun klik olayına aşağıdaki kodları yazdım.

6   private void button1_Click(object sender, EventArgs e)
7        {
8            try
9            {
10                timer1.Interval = 1000;
11                timer1.Enabled = true;
12               button1.Enabled = false;
13
14              }
15            catch (Exception hata)
16            {
17                MessageBox.Show(hata.Message);
18            }
19        }

 

Yukarıda oluşabilecek hataları önlemek için try catch bloğunu kullandım.
Her bir saniye de sürenin eksilmesi gerektiğinden interval değerini 1000 yaptım.Bunun nedeni 1 saniye eksilmesi için 1000 yaptım.
.Enabled=true da butona tıkladığımız da timer çalışmaya başlayacak.Butona tıkladıktan sonra tekrar pasif yaptım.

Artık saniyeleri eksiltmeye başlayabiliriz. Bunun için timer ın tick olayına aşağıdaki kodları yazdım.

 

1  private void timer1_Tick(object sender, EventArgs e)
2        {
3            try
4            {
5                int zaman;
6                saniye = int.Parse(textBox1.Text);
7                textBox1.Enabled = false;
8                saniye--;
9                zaman = saniye ;
10            this.Text ="Formun Kapanmasına "+ zaman.ToString()+" Saniye Kaldı";
11            textBox1.Text = saniye.ToString();
12            if (zaman == 0)
13                {
14                    timer1.Enabled = false;
15                    this.Text = "Form Kapandı";
16                    this.Close();
17                }
18            }
19            catch (Exception hata)
20            {
21                MessageBox.Show(hata.Message);
22            }
23        }

 

Şimdi kodların ne işe yaradığını açıklamaya başlayabiliriz.
sayısal değer de bir zaman isminde bir değişken tanımladım.İlk başta tanımladığım saniye değişkenini textbox ı sayı tipine dönüştürerek eşitledim.

Tekrar dan veri girmeyi engellmek için textbox ı pasif yaptım.
Sonra saniiye değişkenini 1 er (–) eksiltmeye başladım.Sonra zaman değişkenini saniye değişkenine eşitledim. Sonra bu geri sayım işini başlığa yazdırdım. Tekrar baştan başlamayı engellemek için textbox ı saniye değişkenine eşitledim.

Şimdi zaman değişkeni 0 a eşit olduğun da timer ı kapattık sonra formun text değerini değiştirdik ve formu kapattık.

Arama Terimleri: https://emresupcin com/2013/10/08/c-formunuzu-saniyelerle-kapatin/
Paylaşmak Güzeldir
Yazar
Yazar
C# Dosya Taşıma İşlemi? C# (Sharp) Tarihi?
Benzer Yazılar
3 Yorum
  1. Yazar
    Ömer

    Kardeşim şimdi elimde kullanıcı girişi var ama textboxlara birşey girmeyince buton aktif olmasın yapıyorum ama bu seferde tıkladığımda diğer forma geçmiyor nasıl olacak ???

  2. Yazar

    Merhaba
    C#’da şöyle birşey yapmayı düşünüyorum. Şimdi 1 tane textbox , 1 tane timer ve 1 tane buton var.

    Botuna tıkladığım zaman Textbox’a yazdığım değeri verdiğim süre sonra silecek bir program yapmayı düşünüyorum. Nasıl yapabilirim?

  3. Yazar
    Burak

    Verdiğimiz süre zarfında kapanmasında. Arkaplanda biz ona süre yazıpta o sürede kapanması için ne yapabiliriz.

Bir yorum yazın
Siz de düşüncenizi belirtebilirsiniz.

Emre Supçin * Ecceplus WordPress Themes