3

以前のフォームでのユーザー入力に基づいて変更したいタブコントロールを含むフォームがあります。「TabControl」という名前のタブコントロールを作成しました (クリエイティブ、私は知っています)。配列「tabNames()」の各値にタブを追加しようとしています。プログラムをデバッグするとき、最初のフォームの配列に値を入力します。2 番目のフォームが読み込まれると、タブコントロールに何も表示されません。何かご意見は?

Public Sub frmContent_Load(ByVal sender As Object, ByVal e As EventArgs)
  lblTitle.Text = frmiFormCreator.txtTitle.Text
  For i As Integer = 0 To frmiFormCreator.numberOfTabs
    Dim tabPage(frmiFormCreator.numberOfTabs) As TabPage
    tabPage(i).Text = frmiFormCreator.tabNames(i)
    TabControl.TabPages.Add(tabPage(i))
  Next
End Sub
4

2 に答える 2

6

TabPage オブジェクトを作成してみてください。

For i As Integer = 0 To frmiFormCreator.numberOfTabs
  Dim newPage As New TabPage()
  newPage.Text = frmiFormCreator.tabNames(i)
  TabControl.TabPages.Add(newPage)
Next

また、コードが余分なタブを作成しているように見えます。多分あなたはこれが欲しい:

For i As Integer = 0 To frmiFormCreator.numberOfTabs - 1
于 2013-03-20T16:00:25.157 に答える
1

試す

Public Sub frmContent_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)  
    lblTitle.Text = frmiFormCreator.txtTitle.Text
    For i As Integer = 0 To frmiFormCreator.numberOfTabs
        Dim tabPage As New TabPage(frmiFormCreator.tabNames(i))
        TabControl.TabPages.Add(tabPage)
    Next
End Sub
于 2013-03-20T16:01:33.610 に答える