日期:2014-05-18  浏览次数:20831 次

鼠标的移出事件问题
新建了一个panel1,上面有几个PictureBox控件,原意是想在鼠标移出panel1范围时panel1隐藏,结果移到PictureBox上时panel1也隐藏了,请问怎么解决
PL_panel1.MouseLeave += new EventHandler(panel1_MouseLeave);
public void panel1_MouseLeave(object sender, EventArgs e)
{panel1.Visible = false;}

------解决方案--------------------
private void MainForm_MouseMove(object sender, MouseEventArgs e)
{
if (panel1.Visible)
{
panel1.Visible = false;
}
}


------解决方案--------------------
PictureBox在panel中,移动过程中肯定是经过了panel,引发了MouseLeave事件
------解决方案--------------------
你可以在MouseLeave 事件li class="honor">
  • 等 级:------解决方案--------------------
    的确是误解了,抱歉。
    在子控件的mouseLeave事件中再调用一下panel1的mouseLeave事件试试吧
    private void pictureBox1_MouseLeave(object sender, EventArgs e)
    {
    panel1_MouseLeave(this.pictureBox1.Parent, null);
    }