C# 不需要的背景图像刷新
我有一个窗体,它有一个背景图像集和一个作为计时器输出的标签。标签位于透明的表格布局面板中。不幸的是,随着计时器的每一次滴答声,背景都会明显地刷新。我怎样才能防止这种情况 这是在每次勾选时调用的函数C# 不需要的背景图像刷新,c#,winforms,timer,refresh,transparency,C#,Winforms,Timer,Refresh,Transparency,我有一个窗体,它有一个背景图像集和一个作为计时器输出的标签。标签位于透明的表格布局面板中。不幸的是,随着计时器的每一次滴答声,背景都会明显地刷新。我怎样才能防止这种情况 这是在每次勾选时调用的函数 private void DisplayCountry() { if (sel.Count == 1) { country_out.Text = "No countries chosen.\nPlease select
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;
}
}
}
设置前景色将刷新图像,即使它已经是该颜色。在设置它之前,检查它是否已经是那种颜色。最终,我去掉了TableLayoutPanel,牺牲了一些对齐,并使用了一个PictureBox作为背景。PictureBox不会引起刷新问题,我想它已经为此进行了优化。感谢您的回复。以下内容应嵌套在if语句中,以查看它们是否已设置为适当的值(每次命中时都会重置):timer\u out.Visible=true;country_out.ForeColor=Color.RoyalBlue;country_out.Text=sel[i]。名称;我在各自的if语句中嵌套了除了实际的计时器字符串更新(因为它必须每秒钟更新一次)之外的所有内容,注释掉了字体颜色的完全变化,我仍然遇到了相同的问题。如果还有其他想法,我将不胜感激。