timer - jak pokazać czas do końca?

0

Witam! Mam pewien problem z odliczaniem czasu, a raczej jego wyświetlaniem.
Napisałem mały program który po uruchomieniu i wystartowaniu minimalizuje się do traya i tam też właśnie pracuje, i wykonuje jakaś czynność.
Mam pewien kod, który wygląda (w małym zarysie tak):

        private void button1_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;
            notifyIcon1.Visible = true;
            notifyIcon1.Text = "Program";
            notifyIcon1.Icon = this.Icon;
            notifyIcon1.ContextMenuStrip = contextMenuStrip1;
            notifyIcon1.BalloonTipText = "Pracuję";
            notifyIcon1.ShowBalloonTip(5);
            
           
        }

        private void timer1_Tick(object sender, System.EventArgs e)
        {
            timer1.Enabled = false;
//tutaj robi coś mój kod, co kilka minut, wedle ustawienia trackbara. 

            timer1.Interval = trackBar1.Value;
             timer1.Enabled = true;
}

Chciałbym do "notifyIcon1.Text" dodać ile minut pozostało do następnego odświeżenia.

0

Żeby pokazywać ten czas na żywo, musisz to oprogramować w timerze. Czyli np tak, że timer co sekunde sie opdala, robi update na tym notifyIcon i dodatkowo np inkrementuje jakas flage. Jeśli flaga osiagnela jakastam wartość (ustawienie trackbara) to timer robi te Twoje tajemne operacje i zeruje flage i tak w kólko:)

2

Standardowy Timer nie posiada żadnego pola udostępniającego taką informację, ale możesz np mieć zmienną w której trzymasz czas o której timer zaczął działać i gdy chcesz wyświetlić czas, który pozostał w Notify to od na przykład DateTime.Now odejmujesz czas o której Timer zaczął działać i masz czas ile już działa. Teraz wystarczy tylko od Intervala Timera odjąć to ile już działa i masz ile pozostało.

0

Zimny Krawiec, genialne :D dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1