我有一个带有背景图像集的表单和一个作为计时器输出的标签。标签位于透明表格布局面板中。不幸的是,随着计时器的每个滴答,背景明显刷新。我该如何防止这种情况?
这是每次打勾都会调用的函数。
private void DisplayCountry()
{
if (sel.Count == 1)
{
country_out.Text = "No countries chosen.\nPlease select some.";
timer_out.Visible = false;
}
else{
timer_out.Text = String.Format("{0:00}", (sel[i].elapsed / 60)) + ":" + String.Format("{0:00}", (sel[i].elapsed % 60));
if (sel[i] == "sent")
{
country_out.Text = "No countries left.";
timer_out.Visible = false;
}
else
{
timer_out.Visible = true;
country_out.ForeColor = Color.RoyalBlue;
country_out.Text = sel[i].name;
if (sel[i].elapsed > REDTIME)
timer_out.ForeColor = Color.SteelBlue;
else
timer_out.ForeColor = Color.Tomato;
}
}
}
答案 0 :(得分:0)
设置ForeColor将刷新图像,即使它已经是那种颜色。在设置之前,请检查它是否已经是那种颜色。
答案 1 :(得分:0)
最终,我摆脱了TableLayoutPanel,牺牲了一些路线,并使用PictureBox作为背景。 PictureBox没有引起任何令人耳目一新的麻烦,我猜它已经针对这个目的进行了优化。感谢您的回复。