【发布时间】:2019-10-13 06:55:07
【问题描述】:
当我尝试更改面板和标签的背景颜色时,它们的变化似乎比彼此稍慢。
尽管它们都设置为在 Panel 和 Label 的 Enter/Leave 时更改,但我可以注意到更改时只有半秒的差异。
有谁知道我怎样才能让它们同时改变,无论鼠标是否悬停?
private void panel3_MouseEnter(object sender, EventArgs e)
{
panel3.BackColor = Color.FromArgb(125, 170, 170, 170);
label2.BackColor = System.Drawing.Color.Transparent;
}
private void panel3_MouseLeave(object sender, EventArgs e)
{
panel3.BackColor = Color.FromArgb(125, 45, 45, 45);
label2.BackColor = System.Drawing.Color.Transparent;
}
private void label2_MouseEnter(object sender, EventArgs e)
{
panel3.BackColor = Color.FromArgb(125, 170, 170, 170);
label2.BackColor = System.Drawing.Color.Transparent;
}
private void label2_MouseLeave(object sender, EventArgs e)
{
panel3.BackColor = Color.FromArgb(125, 45, 45, 45);
label2.BackColor = System.Drawing.Color.Transparent;
}
这是它正在做的一个例子。 Example
【问题讨论】:
-
你的意思是面板背景颜色的变化和标签背景颜色的变化之间有滞后吗?究竟是什么活动?此外,您似乎永远不会将标签背面颜色更改为透明以外的其他颜色。您能否提供一个我们可以尝试的完整工作示例?
-
删除所有
label2.BackColor = System.Drawing.Color.Transparent;。将与panel3相同的处理程序分配给label2的MouseEnter事件(因此您只有2 个事件处理程序:1 个由面板使用,1 个由面板和标签使用)。就是这样。