在表单VB.NET中切换选项卡时,Win32Exception未处理

时间:2016-11-20 13:10:18

标签: vb.net forms winapi panel tabcontrol

我有一个带tabcontrol的表单,tabscontrol以单个选项卡开头,如果需要,还会动态添加更多。每个标签包含大约20个单独的面板,用于表示页面。它可以很好地处理12个选项卡,并继续添加更多的方式超过40.但是,每当您单击选项卡加载它时,它会抛出此错误。

System.ComponentModel.Win32Exception。

在代码中没有位置可以穿着它坠毁。

我在多台机器上尝试过这种情况,同样的事情发生了。

这是添加新标签的代码。

    Public Sub CreateAnotherPage5(NoOfPage5 As Integer)
          For i = 1 To NoOfPage5
           Dim PG5E As New ConditionReportPage5
           Dim PREV As ConditionReportPage5

            If NoOfPages Mod 20 = 0 Then
                Dim NwTabPG As New TabPage
                Dim NwPanel As New PanelAutoScroll
                NoOfTabs = NoOfTabs + 1
                NwTabPG.Name = "tpg_" & NoOfTabs
                NwPanel.Name = "pnl_" & NoOfTabs
                NwTabPG.Text = NoOfTabs
                NwPanel.Dock = DockStyle.Fill
                NwPanel.AutoScroll = True
                frm_Main.tbc_Main.TabPages.Add(NwTabPG)
                NwTabPG.Controls.Add(NwPanel)
                PG5E.Location = New Point(frm_Main.FirstPageX, frm_Main.FirstPageY)
                NwPanel.Controls.Add(PG5E)
                NoOfPages = 1
            Else
                Dim PrevPanl As PanelAutoScroll
                Dim PrevTabPG As TabPage
                PrevTabPG = frm_Main.tbc_Main.Controls.Item("tpg_" & NoOfTabs)
                PrevPanl = PrevTabPG.Controls.Item("pnl_" & NoOfTabs)
                PREV = TryCast(PrevPanl.Controls(NoOfPages - 1), ConditionReportPage5)
                PG5E.Location = New Point(frm_Main.FirstPageX, Math.Abs(PREV.Location.Y + 1000))
                PrevPanl.Controls.Add(PG5E)
                NoOfPages = NoOfPages + 1
            End If
            ExtensionConfig.DoubleBuffer(PG5E, True)
            PG5E.SetNewDef()
            PG5E.PageNo = NoOfPages
     End sub

有什么建议吗?

enter image description here

0 个答案:

没有答案