1

ウィンドウのコンストラクターで次のコードを実行します。「ラベル」が追加されますが、他のコントロールは画面に表示されません。newTab.Controlsをデバッグすると、いくつかのコントロールが含まれます。画面に表示されないのはなぜですか。「ラベル」コントロールしか表示されません。

ありがとう

Dim graphlist As ArrayList = New ArrayList
    For Each funct As TL_FUNCTION In functionlist
        If (funct.functionname = functi) Then
            If Not (graphlist.Contains(funct.picture)) Then
                graphlist.Add(funct.picture)
            End If
        End If
    Next
    For Each picture In graphlist
        Dim NewTab As New TabPage
        NewTab.Name = picture
        NewTab.Text = NewTab.Name
        Me.TabControl1.Controls.Add(NewTab)
        Me.TabControl1.SelectedIndex = Me.TabControl1.TabCount - 1
        For Each func As TL_FUNCTION In functionlist
            If (func.picture = picture) Then
                Dim label As Label = New Label
                label.Text = func.curve.ToString
                NewTab.Controls.Add(label) 'This label shows up
                Dim key As String
                Dim values() As String
                For Each key In func.values.Keys
                    values = func.values.GetValues(key)
                    For Each value As String In values
                        Dim label2 As New Label
                        label2.Text = key.ToString
                        Dim textb As TextBox = New TextBox
                        textb.Text = value
                        NewTab.Controls.Add(label2) 'this one is not shown on the tab
                        NewTab.Controls.Add(textb) 'this one is not shown on the tab
                    Next value
                Next key
            End If
        Next
    Next
4

1 に答える 1

1

新しいラベルとテキストボックスは、場所を設定したことがないため、TabPageに表示される新しいラベルのに配置するため、デフォルトでポイント(0、0)になります。

コントロールの場所を設定してみてください。

For Each value As String In values
  Dim label2 As New Label
  label2.Text = key.ToString
  label2.Location = New Point(10, NewTab.Controls.Count * 24)

  Dim textb As TextBox = New TextBox
  textb.Text = value
  textb.Location = New Point(label2.Right + 4, label2.Top)

  NewTab.Controls.Add(label2)
  NewTab.Controls.Add(textb)
Next value
于 2012-07-25T14:26:30.020 に答える