C# C语言中的鼠标事件#

C# C语言中的鼠标事件#,c#,C#,我将鼠标事件MouseEnter和MouseLeave与图片盒一起使用。背景色随鼠标进入而改变,但不随鼠标离开而改变 public void pictureBox1_MouseEnter(object sender, EventArgs e) { pictureBox1.BackColor = Color.Blue; } public void pictureBox1_MouseLeave(object sender, EventArgs e) { pictureB

我将鼠标事件MouseEnter和MouseLeave与图片盒一起使用。背景色随鼠标进入而改变,但不随鼠标离开而改变

 public void pictureBox1_MouseEnter(object sender, EventArgs e)
 {
    pictureBox1.BackColor = Color.Blue;
 }

 public void pictureBox1_MouseLeave(object sender, EventArgs e)
 {
     pictureBox1.BackColor = SystemColors.Control;
 }

也许你应该记得以前的颜色是什么

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

你必须知道什么;这是以前的颜色,并相应地更改它。还要确保控件已注册这两个事件:

例如,如果在此之前颜色为灰色:

 public void pictureBox1_MouseEnter(object sender, EventArgs e)
 {
    pictureBox1.BackColor = Color.Blue;
 }

 public void pictureBox1_MouseLeave(object sender, EventArgs e)
 {
     pictureBox1.BackColor = Color.Gray;
 }
这似乎是正确的。 你应该在mouseleave事件中设置一个断点。
可能pictureBox1\u MouseLeave事件设置不正确。

这里有什么问题吗?你把这些活动安排好了吗?你调试过这些吗?