C# ile yazdığım uygulama donuyor. Sebebi ne olabilir?

0

Aşağıdaki C# kodunu yazdığımda uygulama donuyor sebebi nedir ? 

Programamın amacı perşembe gününe ne kadar kaldığını gösteren program yapmak ayrıca saniyede bir değerleri yenileyecek

private void button1_Click(object sender, EventArgs e)
        {
            DateTime perşembe = new DateTime(2018, 08, 30, 20, 00, 00);
            DateTime yardımcı = new DateTime(2018, 08, 30, 20, 00, 00);
            while (1==1)
            {
        System.Threading.Thread.Sleep(1000);
                DateTime bugün;
            bugün = DateTime.Now;

           

            if (perşembe.Month < bugün.Month)
            {
                perşembe = yardımcı.AddDays(7);
                yardımcı = perşembe;


            }


            while (perşembe.Day <= bugün.Day)
            {
                perşembe = perşembe.AddDays(7);
            }
            while (perşembe.Year < bugün.Year)
            {
                perşembe = perşembe.AddDays(7);
            }

            yardımcı = perşembe;
            TimeSpan timeSpan;
            timeSpan = perşembe - bugün;
            textBox1.Text = (timeSpan.Days + " Gün " + timeSpan.Hours + " Saat " + timeSpan.Minutes + " Dakika Kaldı" + timeSpan.Seconds + "Saniye Kaldı");
        }



 

 

 

ahmet5847 ahmet5847 (92)
5 yıl önce sordu

  • .1.Sorunuz soru başlığıyla alakalı olması zorunludur, ilkaybaki 5 yıl önce
  • @alattin C# konusu. hakan 5 yıl önce

Toplam 1 Cevap


0

Sorunu basitçe  Application.DoEvents(); ile çözebilirsin. Koduna  Application.DoEvents(); ilave et. Konudu şu şekilde düzelt:

System.Threading.Thread.Sleep(1000);
Application.DoEvents();


Bunu yaptığında kodun donmayacaktır.

Application.DoEvent() ile ilgili daha fazla bilgi için: Application.DoEvents nedir?

 

alattin alattin (16999)
5 yıl önce cevaplandı

  • Teşekkürler alattin abi ahmet5847 5 yıl önce
  • Peki Application.DoEvents(); bu kod tam olara ne işe yarıyor benim yazı mı sen mi düzelttin ? ahmet5847 5 yıl önce
  • @alattin ahmet5847 5 yıl önce
  • @ahmet5847 evet yazını ben düzelttim, bunu ayrı bir konuda yazayım daha faydalı olur. alattin 5 yıl önce
üyelik gerektirir

Cevap yazabilmek için üye girişi yapmalısınız.

Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol