zegar odliczający w dół

zegar odliczający w dół
SZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 44
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.

Krzysztof Pe
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 78
0

Zrób dwa labele i wrzuc w jeden panel?

JU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5046
0

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

SZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 44
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ą

VarrComodoo
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Bk
  • Postów: 480
1

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

nazwy poszczegolnych kontrolek na Formie, raczej wywnioskujesz z kodu:

Kopiuj
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!");
            }
        }
    }
SZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 44
0

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.