18 Vb.Net migający tekst w Label

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