Jump to content

Kronometre Yapımı


mertugruul
 Share

Recommended Posts

Merhaba.

 

Kronometre yapmak istiyorum. 2 tane textBox'ım var. textBox1'den saat alınacak 2'den ise dk alınacak.

textBox'ların altına 3 tane label koydum. Saat, Dk ve saniye adında.  Saniye 60'dan geriye saydırıyorum timer ile dk bir azalıyor daha sonra saniye adlı label yine 60'dan geriye gidiyor ta ki 0 olana kadar bu kez de Dakika adlı label olduğu yerden devam etmiyor. Yani saniye sürekli 0 olduğunda 60 olup devam ediyor ama dakika 1 kere azaldıktan sonra geriye gitmiyor.

 

Ekran görüntüsü: http://prntscr.com/6td72o

        int saniye = 60;

        private void Başlat_Click(object sender, EventArgs e)
        {
            timer1.Interval = 100;
            timer1.Start();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            int saat = Convert.ToInt32(textBox1.Text);
            int dk = Convert.ToInt32(textBox2.Text);

            if(saniye > -1)
            {
                label4.Text = saniye--.ToString();
                if (saniye == 0)
                {
                    saniye = 60;
                    label4.Text = saniye.ToString();
                    int dkSonuc = dk - 1;
                    label3.Text = dkSonuc.ToString();
                }
            }
        }

        private void Durdur_Click(object sender, EventArgs e)
        {
            timer1.Stop();  
        }
Link to comment
Share on other sites

Kodlarını aşağıdaki şekilde değiştir. Saat ve dakikanın değişkenlerini timer'ın içinde almışsın. Sanırım değişmemeleri onunla ilgili. Nitekim onları dışarıya taşıyınca sorun olmadı. bool kontrol değişkenini durdurup tekrar başlattığında değerler sıfırlanmasın diye kullanman gerekir.  Umarım yardımcı olur. Kolay gelsin.

      int saniye = 60;
         int dk,saat;
        bool kontrol = true;
       
        
        private void Başlat_Click(object sender, EventArgs e)
        {
            timer1.Interval = 100;
            if (kontrol)
            {
                saat = Convert.ToInt32(textBox1.Text);
                dk = Convert.ToInt32(textBox2.Text);
                label3.Text = Convert.ToString(dk);
                kontrol = false;
            }
            timer1.Start();
        }

      
            
        
        private void timer1_Tick(object sender, EventArgs e)
        {
                        
            if (saniye > -1)
            {
                label4.Text = saniye--.ToString();
                if (saniye == 0)
                {
                    saniye = 60;
                    label4.Text = saniye.ToString();
                    dk--; ;
                    label3.Text = dk.ToString();
                }
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            timer1.Stop();
        }
Edited by by.aslan
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...