首页 > 解决方案 > MouseEnter 和 MouseLeave 事件似乎很慢

问题描述

当我尝试更改面板和标签的背景颜色时,它们的变化似乎比彼此稍慢。
尽管它们都设置为在面板和标签的进入/离开时更改,但我可以注意到更改时只有半秒的差异。

有谁知道我怎样才能让它们同时改变,不管鼠标是否在上面?

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;
}

这是它正在做什么的一个例子。 例子

标签: c#winforms

解决方案


为了解决这个问题,我最终用一个按钮替换了面板和标签,以前我不知道按钮有一个不透明度属性,而是使用了面板和标签。


推荐阅读