私は C# と VB.Net で開発しているので、何をする必要があるかを理解するには、どちらのコード スタイルも適しています。
TabControl を動的に構築しています。そうすることで、TabControlにコントロールを追加するときに、TabPagesにもコントロールを追加しています。問題は、最初のタブ (インデックス 0) が常に 2 番目のタブ (インデックス 1) よりも速く読み込まれることです。
TabControl を構築するために使用するコードは次のとおりです。
tabFranchises = New TabControl //Initialize a fresh new TabControl object
tabFranchises.Dock = DockStyle.Fill
Dim tbp As TabPage
Dim bi As BrandInfo
//TODO: Load an individual tab for each Franchise
For Each row As FranchiseRow In dt
tbp = New TabPage(row.nm)
tbp.Name = "tab" & row.id
AddHandler tbp.Enter, AddressOf TabPage_Enter //General Method assignment to Enter Event
//AddHandler tbp.Leave, AddressOf TabPage_Leave //General Method assignment to Leave Event
bi = New BrandInfo(row.id)
tbp.Controls.Add(bi)
tabFranchises.TabPages.Add(tbp)
Next
//Add TabControl to `pnlContent`
pnlContent.Controls.Add(tabFranchises)
TabPage_Enter
メソッドは次のとおりです。
Private Sub TabPage_Enter(sender As Object, e As EventArgs)
//MsgBox(CType(sender, TabPage).Name & " Enter")
Dim tp As TabPage = CType(sender, TabPage)
tp.Controls.Clear()
Dim bi As New BrandInfo(CShort(Strings.Mid(tp.Name, 4)))
tp.Controls.Add(bi)
End Sub
最初のタブから 2 番目のタブをクリックするたびに、2 番目のタブの読み込み中に最初のタブの読み込みと視覚的な残骸の遅延が発生します。しかし、2番目のタブから最初のタブをクリックすると、最初のタブの読み込み中に2番目のタブの「ゴースト」が発生せずに完全にリロードされます。
タブページの読み込み速度を解決する方法についてのアイデアはありますか?