• 24-10-2020, 18:09:05
    #1
    Merhaba sayın hocalarım bir program hazırlıyorum ve timer ile ilgili bir noktada takıldım yardımcı olursanız çok mutlu olurum

    if (sayi >= 0 )
    {
    int sayac = sayi--;
    label4.Text = "Kalan Süre: " + sayac.ToString();
    }
    textboxdaki sayıyı convert.toint32 ile sayi değişkeni olarak tanımladım ve örnek olarak 2 yazdığımda geri sayım için 120'den başlatmam gerekiyor yani önce 60 ile çarpması gerekiyor sonra azalması gerekiyor.
    Bunun için publicin dışına *60 yazdığım zaman içeride kullanamıyorum hata alıyorum, timerin içine bu şekilde yazıyorum;

    if (sayi>= 0 )
    {
    int deneme = sayi* 60;
    int sayac = deneme--;
    label4.Text = "Kalan Süre: " + sayac.ToString();
    }
    ancak timer olduğu için sürekli çarpma işlemi yapıyor ve sayaç geri saymaya başlamıyor, nasıl yapabilirim kötü anlattım kusura bakmayın. 🤔
  • 24-10-2020, 18:16:55
    #2
    Merhaba , timer için tetiklenen 'tick' eventi içerisinde bu tanımlamayı yaparsanız her saniye sayıyı 60 ile çarpacaktır.Event içerisinde sadece timer tetiklendiginde yapılmasını istediğiniz işlemleri yazmalısınız örneğin sayaç ın azalması gibi.Sayaç değişkenini ise tiner eventinin dışında form alanı içerisinde tanımlayabilirsiniz böylece event içerisinden bu değişkene ulaşabileceksiniz . Telefondan fazla sözel oldu ancak umarım anlayabilmiş indir.Bu durumun pekişmesi için erişim belirleyiciler ve static objelere göz gezdirmenizi öneririm
  • 24-10-2020, 18:20:08
    #3
    Timerda zaten bu ozellik var ms cinsinden 1000ms 1 sn
  • 24-10-2020, 18:21:04
    #4
    insolitax adlı üyeden alıntı: mesajı görüntüle
    Timerda zaten bu ozellik var ms cinsinden 1000ms 1 sn
    Hocam geri sayacak ama önce 60 ile çarpması gerekiyor yoksa interval değeri zaten 1000
    bycyberchild adlı üyeden alıntı: mesajı görüntüle
    Merhaba , timer için tetiklenen 'tick' eventi içerisinde bu tanımlamayı yaparsanız her saniye sayıyı 60 ile çarpacaktır.Event içerisinde sadece timer tetiklendiginde yapılmasını istediğiniz işlemleri yazmalısınız örneğin sayaç ın azalması gibi.Sayaç değişkenini ise tiner eventinin dışında form alanı içerisinde tanımlayabilirsiniz böylece event içerisinden bu değişkene ulaşabileceksiniz . Telefondan fazla sözel oldu ancak umarım anlayabilmiş indir.Bu durumun pekişmesi için erişim belirleyiciler ve static objelere göz gezdirmenizi öneririm
    Hocam tick ile event ayrı değil ki nasıl yapıcam :/

    private void timer2_Tick(object sender, EventArgs e)
    {
    kodları buraya yazıyorum
    }
  • 24-10-2020, 18:22:57
    #5
    int sayi = 60 * Convert.ToInt32(textBox1.Text);
    
    
    if (sayi >= 0 )
    {
    label4.Text = "Kalan Süre: " + sayi.ToString();
    int sayi = sayi--;
    }
  • 24-10-2020, 18:28:54
    #6
    erkanakgun adlı üyeden alıntı: mesajı görüntüle
    int sayi = 60 * Convert.ToInt32(textBox1.Text);
    
    
    if (sayi >= 0 )
    {
    label4.Text = "Kalan Süre: " + sayi.ToString();
    int sayi = sayi--;
    }
    Hocam denedim ama textboxa 2 yazdığımda label4'e yazdığı sayı azalmıyor 120'de kalıyor
  • 24-10-2020, 18:31:01
    #7
    Uzak masaüstü bağlantı verirsen yardımcı olabilirim.
  • 24-10-2020, 18:43:56
    #8
    Müsait olduğum da haber vereyim. Bakalım