我将鼠标事件MouseEnter和MouseLeave与pictureBox一起使用。 “返回颜色”随鼠标输入而变化,但使用鼠标“离开事件”时不会正常更改。
public void pictureBox1_MouseEnter(object sender, EventArgs e)
{
pictureBox1.BackColor = Color.Blue;
}
public void pictureBox1_MouseLeave(object sender, EventArgs e)
{
pictureBox1.BackColor = SystemColors.Control;
}
答案 0 :(得分:0)
也许你应该记住以前的颜色是什么?
Color prevColor = Color.Black;
public void pictureBox1_MouseEnter(object sender, EventArgs e)
{
prevColor = pictureBox1.BackColor;
pictureBox1.BackColor = Color.Blue;
}
public void pictureBox1_MouseLeave(object sender, EventArgs e)
{
pictureBox1.BackColor = prevColor;
}
答案 1 :(得分:0)
你必须知道什么;以前的颜色并相应地改变它。还要确保它注册了两个事件的控件:
例如,如果之前颜色为灰色:
public void pictureBox1_MouseEnter(object sender, EventArgs e)
{
pictureBox1.BackColor = Color.Blue;
}
public void pictureBox1_MouseLeave(object sender, EventArgs e)
{
pictureBox1.BackColor = Color.Gray;
}
答案 2 :(得分:0)
看来是对的。 你应该在mouseleave事件中加入一个突破点。 也许pictureBox1_MouseLeave事件设置不正确。