本来以为很简单,这么些就可以了:
private void pictureBox1_MouseEnter(object sender, EventArgs e)
{
cbxConnectionFiles.Visible = true;
}
private void pictureBox1_MouseLeave(object sender, EventArgs e)
{
cbxConnectionFiles.Visible = false;
}
但是事实发现,当一旦里面的控件Visible=true,如果鼠标在控件上面的时候,那么此时对于picturebox来说,又是Leave了,就把控件设置为不可见,而测试因为控件不见了,导致picturebox又发生Enter事件,如此死循环了,所有现象就是控件能显示和隐藏,但控件“失去响应”,不能进行任何操作。
大家怎么操作?
算了,简单点,改变一点需求。改为鼠标移入到控件区域时隐藏和显示。
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
cbxConnectionFiles.Visible = (new Rectangle(
cbxConnectionFiles.Location,cbxConnectionFiles.Size).Contains(e.Location));
}
你这个控件是combox?