处理在 MainForm 选项卡中打开的表单

发布于 2024-08-29 09:57:29 字数 426 浏览 4 评论 0原文

我有一个 MainForm,其中有选项卡控件和几个独立的表单。我在主窗体的选项卡中打开每个“个人发件人”。 MainFrom 上的“关闭选项卡”按钮关闭当前选项卡,其实现如下。

这将关闭当前选项卡,但我还需要处理关闭选项卡的 From,但我不确定如何获取表单的实例。

如有任何帮助,请提前致谢。

'Close the current tab
  Private Sub CloseCurrentTab()
    'Close the current tab 

      Dim tabPageSave As TabPage
      tabPageSave = tcDisplayDetails.SelectedTab
      tcDisplayDetails.TabPages.Remove(tabPageSave)

结束子

I have a MainForm which has tab Control and several independent form. I open each Individual From in the tab of the main form. A "Close Tab" button on the MainFrom closes the current tab, its implementation is below.

This closes the current tab but what I also need is to dispose the From whose tab is closed but I am not sure how to get the instance of the form.'

Any help is appreciated Thanks in Advance.

'Close the current tab
  Private Sub CloseCurrentTab()
    'Close the current tab 

      Dim tabPageSave As TabPage
      tabPageSave = tcDisplayDetails.SelectedTab
      tcDisplayDetails.TabPages.Remove(tabPageSave)

End Sub

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

醉殇 2024-09-05 09:57:29

是的,您需要处理选项卡页中的所有控件。该窗体并不特殊,当您将其 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() 方法将自动处理它拥有的任何子控件,不需要额外的帮助。

Yes, you'll need to dispose all of the controls in the tab page. The form isn't special, it is just a child control when you set its TopLevel property to false. Make it look like this:

  Dim tabPageSave As TabPage
  tabPageSave = tcDisplayDetails.SelectedTab
  While tabPageSave.Controls.Count > 0
      tabPageSave.Controls(0).Dispose()
  End While
  tcDisplayDetails.TabPages.Remove(tabPageSave)

The form's Dispose() method will automatically dispose any child controls it has, no additional help is needed.

忘年祭陌 2024-09-05 09:57:29

我建议在主表单中保留对表单的引用。因此,我有一个 frmPageSave,当我打开 PageSave 选项卡的表单时,我将引用存储在该变量中,然后在 CloseCurrentTab 方法中添加如下内容:

IF frmPageSave IsNot Nothing Then
    frmPageSave.Close()
    frmPageSave = Nothing
End If

I'd suggest keeping a reference to the forms in the main form. So I'd have a frmPageSave and when I open the form for the PageSave tab I store the reference in that variable and then in your CloseCurrentTab method I'd add something like:

IF frmPageSave IsNot Nothing Then
    frmPageSave.Close()
    frmPageSave = Nothing
End If
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文