我目前正在使用窗體和mdi。在我的項目中有一個mainform(一個mdiContainer),它可以有x個子表單。我想要達到的目的是,每次都關閉子窗體,再次安排所有其他子窗體。關閉子窗體時從父窗體更改LayoutMdi
你可以做到這一點寫入到的MainForm這樣的:
public void resetToolStripMenuItem_Click(object sender, EventArgs e)
{
this.LayoutMdi(System.Windows.Forms.MdiLayout.TileVertical);
}
在子窗體,我這樣做:
private void subform_FormClosed(object sender, FormClosedEventArgs e)
{
try
{
Form1 mainform = new Form1();
mainform.resetToolStripMenuItem_Click(mainform, EventArgs.Empty);
}
catch
{
System.Windows.Forms.MessageBox.Show("error");
}
}
它不給任何錯誤,也不會安排子窗體再次。我也嘗試用其他參數調用該方法。
任何想法如何我可以使這項工作?
您每次關閉子窗體時都會啓動一個新的主窗體。嘗試刪除該行。每當孩子關門時,不需要重新初始化mdi父母。 – tinstaafl 2014-09-24 21:06:26