我有一个显示时间的标签,我想将label.text转换为背景颜色,每次时间都会改变。这可能吗?我的代码如下。 例: 如果显示的时间是11:23:04,我希望将背景颜色更改为#112304。 如果显示的时间是11:24:00,我希望将背景颜色更改为#112400。 等等。
Private Sub Timer1_Tick() Handles Timer1.Tick
Label1.Text = TimeOfDay
Label2.Text = System.DateTime.Now.ToString("MM/d/yyy")
End Sub
答案 0 :(得分:0)
可以使用FromArgb创建新颜色。 TimeOfDay属性是TimeSpan,其中包含Hour,Minute和Second属性。
Color.FromArgb(DateTime.TimeOfDay.Hour, DateTime.TimeOfDay.Minute, DateTime.TimeOfDay.Second)
这将使用十进制,所以11:12:13将是#0B0C0D如果你想使用十进制格式你需要先转换它。
答案 1 :(得分:0)
首先从时间中删除“:”然后将其转换为十六进制颜色
Dim remove = Label1.Text.Replace(":", "")
Me.BackColor = ColorTranslator.FromHtml("#" & remove)
答案 2 :(得分:0)
结合Dmandy的ColorTranslator.FromHtml()方法并格式化您已经使用ToString()演示的时间:
Me.BackColor = ColorTranslator.FromHtml(DateTime.Now.ToString("#HHmmss"))