Migający tekst
Dziś pokaże wam jak w prosty sposób zmusić jakąś kontrolkę wyświetlającą tekst, aby zmieniały się kolory czcionki. Czasami będziemy mieli potrzebę, aby właśnie w ten sposób wyróżnić jakiś element na formie.
Zabierzmy się do pracy, otwieramy nową formę, na niej umieszczamy jeden Label, jeden Button i Timer. Właściwość ForeColor Label'a zmieniamy z ControlText na Black. Timer Interval ustawiamy na 500. Teraz napiszemy kod dla naszego Button'a oraz Timer'a:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Timer1.Start()
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
If Label1.ForeColor = Color.Black Then
Label1.ForeColor = Color.Red
ElseIf Label1.ForeColor = Color.Red Then
Label1.ForeColor = Color.Black
End If
End Sub
Żeby pokazać to w jakiejś użytecznej dla nas formie powrócimy kilka działów do tyłu gdzie omawialiśmy operacje na datach i ustawimy dla niej kontrolkę, która zacznie migać gdy przekroczymy w niej jakąś określoną wartość (dla naszych potrzeb będzie to wartość powyżej 15 sekund).
Private godzwejscia As Date ' deklarujemy zmienną godzina wejscia
'Przycisk obliczający upływ czasu od momentu rozpoczęcia pracy
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim elapsedtime As TimeSpan = DateTime.Now.Subtract(godzwejscia)
TextBox3.Text = elapsedtime.Hours.ToString & " godzin " & elapsedtime.Minutes.ToString & " minut " & elapsedtime.Seconds.ToString & " sekund"
If elapsedtime.Seconds > 15 Then
Timer1.Start()
End If
End Sub
'Przycisk pobierający godzinę rozpoczęcia pracy
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
godzwejscia = DateTime.Now ' przypisanie zmiennej godzwyjscia aktualnego czasu
TextBox1.Text = godzwejscia.ToString
End Sub
'Instrukcja podmiany kolorów dla Timera
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
If TextBox3.ForeColor = Color.Black Then
TextBox3.ForeColor = Color.Red
ElseIf TextBox3.ForeColor = Color.Red Then
TextBox3.ForeColor = Color.Black
End If
End Sub
W normalnych warunkach ustawilibyśmy instrukcję warunkową w poniższy sposób:
If elapsedtime.Hours >= 8 Then
Timer1.Start()
End If
Tylko kto normalny w warunkach "warsztatowych" będzie czekać 8 godzin, aby sprawdzić czy tekst zaczął migać :)To była taka mała wstawka na rozluźnienie, bo przed nami ciężki temat o bazach danych.
Utworzono 17.09.2015
Brak komentarzy:
Prześlij komentarz