在窗口中有一个sstab,其tabs属性和每个tab的标题是在窗体加载时动态生成的
又写了个方法在各个tab上动态添加控件
运行时发现所有的控件都被创建到了第一个tab上
但是同样的创建控件的方法如果通过按钮调用就是正常的
有人知道为什么么?
谢谢!

解决方案 »

  1.   

    源代码如下Private Sub addLabels()For i = 1 To SSTab1.Tabs
        SSTab1.Tab = i - 1
        For j = 1 To 10
        addLabel i, j
        Next j
    Next i
    End SubPrivate Sub addLabel(ByVal i As Integer, ByVal j As Integer)
    Me.Controls.Add "VB.Label", "label" & CStr(i) & CStr(j)
    With Me("label" & CStr(i) & CStr(j))
        Set .Container = SSTab1
        .Top = 500 * j
        .Left = 500
        .Caption = "label" & CStr(i) & CStr(j)
        .Visible = True
    End With
    End SubPrivate Sub Command1_Click()
    addLabels           ’用按钮调用则正常生成
    End SubPrivate Sub Form_Load()
    SSTab1.Tabs = 3
    addlabels  '在form load方法中执行则所有label都创建在sstab的第一页中
    End Sub
      

  2.   

    放到form_load中交控件加到动态生成的tab上是不行的~~~
      

  3.   

    Private Sub Form_Activate()
    SSTab1.Tabs = 3
    addLabels  '在form load方法中执行则所有label都创建在sstab的第一页中
    End Sub
      

  4.   

    在主窗体上加了个timer实现了需求
    不过还是4楼方法好用,谢谢了