繁体   English   中英

VB.NET-TabControl中的窗体关闭后未打开

[英]VB.NET - Form in TabControl not opened after closing It

我在打开表单的地方有ToolStripMenu。 窗体在TabControl中打开,该控件位于“拆分容器”面板之一中。 我也已在Split容器中放置了一个按钮,它将关闭所有选定的TabPages(打开表单的位置)。 问题是,当我在新的TabPage中打开表单并通过此按钮关闭它时,表单不再打开。 为什么呢? ....这是我的代码:

Private Sub SearchItemsAPOToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SearchItemsToolStripMenuItem.Click

       'Define new page in Tab control and form to open in It
        Dim PageNew As New TabPage()
        Dim FrmItem As New Search_Items

        'Define where and how form should open
        FrmItem.TopLevel = False
        FrmItem.Dock = DockStyle.Fill
        FrmItem.FormBorderStyle = FormBorderStyle.None

        'If form allready opened in TabPage, only send focus to It
        If Application.OpenForms().OfType(Of Search_Items).Any Then

            For Each page As TabPage In TabControl1.TabPages

                If page.Text = "Search Items" Then

                    TabControl1.SelectedTab = page

                End If

            Next page

            'If form not allready opened, we open It in Tab control and send focus on that TabPage
        Else

            PageNew.Controls.Add(FrmItem)
            PageNew.Text = "Search Items"
            TabControl1.Visible = True
            TabControl1.TabPages.Add(PageNew)
            FrmItem.Show()
            BtnTab.Visible = True
            TabControl1.SelectedTab = PageNew

        End If

    End Sub


 Private Sub BtnTab_Click(sender As Object, e As EventArgs) Handles BtnTab.Click

        'Button is visible when TabPages are opened, and with click It closes selected TabPage
        Me.TabControl1.TabPages.Remove(Me.TabControl1.SelectedTab)

        'IF no TabPages, button hides again
        If TabControl1.TabPages.Count = 0 Then
            TabControl1.Visible = False
            BtnTab.Visible = False
        End If
    End Sub

该对象已经存在并且仅被隐藏,并且您要重新创建它,请在重新创建该对象之前将其处置。

Dim tbp As TabPage = TabControl1.SelectedTab
TabControl1.TabPages.Remove(tbp)
tbp.Dispose()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM