删除和添加控件后,它不可见

After removing and adding control it is not visible

在 Winforms 应用程序中,我有一个带有从 Control 派生的自定义控件的表单。简化情况如下:在按钮单击处理程序中,我从 Controls 集合中删除控件并再次添加它。之后它消失了——不可见。为什么?

private void nextButton_Click(object sender, EventArgs e)
{ 
    Controls.Remove(_myControl);         
    Controls.Add(_myControl);              
}

(现实中我想把这个控件去掉,换成另一个控件,这是测试情况。)

尝试添加控件位置,然后再次添加:

private void nextButton_Click(object sender, EventArgs e)
{ 
    Controls.Remove(_myControl);    
    _myControl.Location=new Point(1,1);
    Controls.Add(_myControl);              
}

最有可能的情况是控件确实如您所愿添加到父窗体,但与最初插入的顺序不同(即在列表末尾)。因此,它现在可能部分或完全隐藏在其同级控件之一的后面。尝试在添加后添加以下内容:

Controls.Add(_myControl); 
_myControl.BringToFront();