tekst labela zależny od timera

0

Cześć,

Brakuje mi już pomysłów jak mógłbym uzależnić tekst wyświetlany w labelu od timera.
Timer wyzwalany jest przyciskiem, który to z kolei jest uzależniony od zmiany tekstu innego labela (całość brzmi trochę pogmatwanie ale jest to uzależnione od integracji z arduino).
Chciałbym, aby przy określonym czasie wyświetlała się informacja.
Kolejnym tematem jest przenoszenie odliczania czasu do listboxa tzn. by każde kliknięcie przycisku przenosiło czas z labela do listboxa bez zatrzymywania go, tak aby dalej czas był odliczany ale w listboxie.

Jeżeli ktoś ma pomysł na takie pogmatwane rzeczy to byłbym bardzo wdzięczny za podpowiedzi

0

Timer udostępnia event, Elapsed. Timer możesz skonfigurować i ustawić interwał wywoływania tego zdarzenia.
Jeśli dobrze zrozumiałem, w momencie naciśnięcia przycisku odpala się timer i chcesz aby po jakimś czasie wywołał się ten event. Więc wtedy wywołujesz metodę Start timera, wcześniej ustawiając oczywiście zadany interwał.

1

Ciężko coś wykminić z Twojego opisu. @var wypowiedział się, jak to zrobić na timerze. Tylko uwaga, może być konieczne odświeżenie kolejki komunikatów. W Winforms robi się to Application.DoEvents(), w WPF... jakoś z Dispatcherem. Nie pamiętam. Generalnie jeśli na labelu nie pokazuje się/nie zmienia się napis, a wszystko powinno działać, to brakuje Ci odświeżenia kolejki komunikatów.

Innym sposobem, żeby to ogarnąć jest np. BackgroundWorker, typowy Thread ze Sleepem albo Task z Delay'em. Tylko wtedy musisz pamiętać, że operacje tam wykonywane wykonują się lub mogą się wykonywać w innym wątku niż GUI, więc musisz pamiętać o synchronizacji z GUI.

0

Chodzi w sumie o prostą zależność jeżeli chodzi o label, że jeżeli stoper odliczy określony czas to label ma zmienić swoją nazwę. Przykładowy kod poniżej - niestety nie działa. (odliczany czas jest zawarty w circularProgressbar.text, natomiast label3 ma zmienić wyświetlaną nazwę).

if (circularProgressBar1.Text == "00:05")
            {
                label3.Text = "koniec czasu";
            }
            else
            {
                label3.Text = "ok";
            }

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