나는 아주 간단한 카운트 다운 타이머를 가지고 있습니다. 타이머의 틱이 변화함에 따라 라벨의 색 (숫자)이 바뀌길 바란다. 녹색으로 시작한 다음 타이머가 00:00이되면 빨간색으로 페이드 (전환)하고 싶습니다.레이블 색상을 1에서 다른 색상으로 바꿈
타이머가 훌륭하게 작동합니다. 타이머가 00:00에 도달하면 빨간색으로 변경되는 레이블을 얻을 수 있습니다. 나는 그것을 퇴색하고 싶습니다. 여기에 코드의 일부가 있습니다.
'handles the label ticking down'
Private Sub tmrCountdown_Tick(sender As Object, e As EventArgs) Handles tmrCountdown.Tick
Dim ts As TimeSpan = TargetDT.Subtract(DateTime.Now)
If ts.Milliseconds > 0 Then
lblTime.Text = ts.ToString("mm\:ss")
lblTime.ForeColor = Color.FromArgb(0, 255, 0)
Else
lblTime.ForeColor = Color.FromArgb(255, 0, 0) 'changes label color to red when it hits 00:00'
'stops the timer once the label reaches 00:00
lblTime.Text = "00:00"
'Plays sound when timer hits 00:00'
My.Computer.Audio.Play(My.Resources.alarm, AudioPlayMode.BackgroundLoop)
tmrCountdown.Stop()
End If
End Sub
당신은 그라데이션을 의미합니까? 값이 빨간색/노란색/녹색으로 변환되는 "밴드"를 정의하는 것이 더 쉽습니다. 또한 일부 색상은 매우 직관적이지 않습니다. – Plutonix
페이드 란 한 색으로 시작하여 다른 색으로 전환한다는 뜻입니다. 그래서 그것은 단색의 녹색에서 단색의 붉은 색으로 변합니다. – MrGerrm
그런 다음 녹색 값을 줄이고 시간이 0에 가까워지면 색상 생성기에서 사용되는 빨간색 값을 증가시킵니다. 이는 그라디언트라고합니다. – Plutonix