【发布时间】:2012-02-13 16:09:09
【问题描述】:
在我的 C# 应用程序中,有一个带有面板 main_panel 的主窗体。每当用户在菜单中选择某些内容时,比如说“A”,主面板就会切换到表单 A 的面板(查看代码)A_panel。
由于A_panel涵盖了表单A中的每个控件,我可以将表单A的所有控件召唤到主表单中。
if ((string)MainMenu.SelectedItem == "A")
{
FormA A = new FormA();
new_panel = A.Controls["A_panel"] as Panel;
}
this.main_panel.Controls.Clear();
this.main_panel.Controls.Add(new_panel);
我的问题是当用户再次选择菜单 A 时,我不想通过 new FormA() 再次重新创建 FormA。我这样做是因为当我将控件添加到 main_panel 时,A_panel 的所有权更改为主窗体,以便可以再次将控件添加到 main_panel。
那么,如何将A_panel的所有权再次更改为Form A?
以及如何解决我的问题?
【问题讨论】:
标签: c# winforms controls panel