我可以将显示时间的标签转换为背景颜色吗?

时间:2014-12-30 17:07:01

标签: vb.net colors forms

我有一个显示时间的标签,我想将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

3 个答案:

答案 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"))