[英]Add User Control after I Disposed It
我正在通過關閉它來關閉usercontrol1,我需要以編程方式在我的form1中再次添加它。 僅當我關閉usercontrol2之后,usercontrol1才會添加回form1,后者將事件發送到form1以再次在面板中添加usercontrol1。 我知道如何發送和接收事件,但是我不知道如何再次添加usercontrol1,因為在處理完usercontrol1之后,似乎只是忽略了form1中usercontrol1的實例化。 另外,我正在使用.Dispose(),因為我想在每次調用它時觸發usercontrol1的Load事件。
您創建一個UserControl1的新實例(或任何您的usercontrol類型),然后將其添加到面板中。
public void MyTriggeringEvent(object sender, EventArgs e)
{
UserControl1 usercontrol1 = new UserControl1();
panel1.Controls.Add(usercontrol1);
}
MyTriggeringEvent是您要在其中重新添加usercontrol1的事件。
盡管有一種更輕松的方法來實現您想要的功能,而無需刪除並重新添加usercontrol1。
您的usercontrol1
具有如下代碼:
public void usercontrol1_Load(object sender, EventArgs e)
{
// Lots of initialization code here
}
不要將初始化代碼留在Load事件處理程序中,而是將其移到自己的方法中,然后從Load事件處理程序中調用該方法,然后在MyTriggeringEvent中調用該方法:
此代碼位於usercontrol1中:
public void MyInitCode()
{
// Lots of initialization code here
}
public void usercontrol1_Load(object sender, EventArgs e)
{
MyInitCode();
}
此代碼以您處理事件的形式進行:
public void MyTriggeringEvent(object sender, EventArgs e)
{
usercontrol1.MyInitCode();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.