我有一个MainForm,它有tab控件和几个独立的表单。我在主窗体的选项卡中打开每个Individual From。 MainFrom上的“关闭选项卡”按钮关闭当前选项卡,其实现位于下方。
这会关闭当前标签,但我还需要处理其标签已关闭的From,但我不知道如何获取表单的实例。'
任何帮助表示感谢,提前致谢。
'Close the current tab
Private Sub CloseCurrentTab()
'Close the current tab
Dim tabPageSave As TabPage
tabPageSave = tcDisplayDetails.SelectedTab
tcDisplayDetails.TabPages.Remove(tabPageSave)
End Sub
答案 0 :(得分:1)
是的,您需要在标签页中配置所有控件。表单不是特殊的,当您将其TopLevel属性设置为false时,它只是一个子控件。看起来像这样:
Dim tabPageSave As TabPage
tabPageSave = tcDisplayDetails.SelectedTab
While tabPageSave.Controls.Count > 0
tabPageSave.Controls(0).Dispose()
End While
tcDisplayDetails.TabPages.Remove(tabPageSave)
表单的Dispose()方法将自动处理它拥有的任何子控件,不需要额外的帮助。
答案 1 :(得分:0)
我建议在主窗体中保留对表单的引用。所以我有一个frmPageSave,当我打开PageSave选项卡的表单时,我将引用存储在该变量中,然后在CloseCurrentTab方法中我添加了类似的内容:
IF frmPageSave IsNot Nothing Then
frmPageSave.Close()
frmPageSave = Nothing
End If