zegar odliczający w dół

0

Cześć,

Mam kolejny problem badawczy jak zrobić zegar odliczający czas w dół, ale ze wskazaniem minut i sekund (format 00:00), mam zwykły zegar odliczający w górę, ale nie wiem jak zrobić to na jednym labelu, żeby po wskazaniu wartości minut i sekund odliczał w dół. Wiem jak zrobić to na dwóch labelach w sensie osobno minuty i sekundy, jednak zależy mi żeby wykorzystać tylko jeden label.

0

Zrób dwa labele i wrzuc w jeden panel?

0

Kurde, liczysz ilość sekund i odpowiednio formatujesz label :| String.Format, a jeśli chcesz binding no to FormatString

0

@Krzysztof Pe: generalnie napisałem label a w rzeczywistości jest to CircuralProgressbar i po prostu jego wewnętrzny label ma wyświetlać czas odliczający w dół a sam Progressbar ma ten czas wizualizować, także dwa labele odpadają

1

jezeli dobrze Cie zrozumialem to takie cos?
screenshot-20211125205037.png

nazwy poszczegolnych kontrolek na Formie, raczej wywnioskujesz z kodu:

public partial class Form1 : Form
    {
        private TimeSpan czas;
        Timer timer = new Timer();

        public Form1()
        {
            InitializeComponent();
            timer.Tick += new EventHandler(Odliczanie);
            timer.Interval = 1000;

        }

        private void btn_UstalLicznik_Click(object sender, EventArgs e)
        {
            int minuty = 0;
            int sekundy = 0;
            int.TryParse(textBox1.Text, out minuty);
            int.TryParse(textBox2.Text, out sekundy);

            czas = new TimeSpan(0, minuty, sekundy);
            WyswietlCzas();
        }

        private void WyswietlCzas()
        {
            lbl_Wyswietlacz.Text = $"{czas.Minutes}m : {czas.Seconds}s";
        }

        private void btn_Start_Click(object sender, EventArgs e)
        {
            timer.Start();
        }

        private void Odliczanie(object myObject, EventArgs args)
        {
            if (czas.TotalSeconds > 0)
            {
                czas = new TimeSpan(czas.Hours, czas.Minutes, czas.Seconds - 1);
                WyswietlCzas();
            }
            else
            {
                timer.Stop();
                MessageBox.Show("BOOOOM!");
            }
        }
    }
0

@Varran: elegancko, teraz śmiga jak należy

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