问:我正在使用c#开发Windows应用程序,其中正在使用TabControl。我要做的是根据用户的选择动态地打开一个标签页,即,如果用户单击NewUser按钮,则“ New User”标签页应打开;如果用户单击“ Login”按钮,则“ Log In”标签页应打开打开,当前标签页应关闭。
我通过使用以下方法实现了这一点:
tabControl1.TabPages.Add(...)
tabControl1.TabPages.Remove(...)
但是问题是,当我删除标签页时,我无法将它们重新找回...!请给一些解决方案..?提前致谢 !
答:我建议的最佳解决方案是,当您从选项卡控件中删除TabPages时,请将已删除的页面保留在列表中,以便以后再获取它们...
请通过以下示例,这将为您提供我正在谈论的确切想法:
私有List <TabPage> removePages =新List <TabPage>();
私人无效EnablePage(TabPage页面,布尔启用){
如果(启用){
tabControl1.TabPages.Add(page);
removePages.Remove(page);
}
其他{
tabControl1.TabPages.Remove(page);
removePages.Add(page);
}
}
受保护的重写void OnFormClosed(FormClosedEventArgs e){
foreach(removeedPages中的var页面)page.Dispose();
base.OnFormClosed(e);
}