问题: 我在activeX 的dll中cls类文件中创建窗体时报错: 模式窗体显示时不能显示非模式窗体我的代码是这样地: 
   Dim atf As New addTaxForm
   atf.Show
请问: 该怎么动态地创建一个窗体呢???

解决方案 »

  1.   

    Option ExplicitDim WithEvents cmd1 As CommandButton '声明一个事件的按钮
    Dim txt1 As TextBox '声明一个文本框
    Dim WithEvents lbl1 As Label '一个label带事件的
    Dim WithEvents shijian As Timer
    Private Sub Form_Load()
        Me.ScaleMode = 3 '设置窗体度量单位为像素
        
        Set cmd1 = Me.Controls.Add("VB.CommandButton", "cmd1")
        cmd1.Move 150, 50, 100, 30 '调整按钮大小和位置
        cmd1.Caption = "点我看看"   '设置按钮标题
        cmd1.Visible = True         '设置可见
            Set txt1 = Me.Controls.Add("VB.TextBox", "txt1")
        txt1.Move 50, 50, 100, 30    '设置文本框大小和位置
        txt1.Text = "我是文字"      '设置文本
        txt1.Visible = True         '设置可见
        
        Set lbl1 = Me.Controls.Add("VB.Label", "lbl1")
        lbl1.Move 30, 10, 300, 20   '设置label大小和位置
        lbl1.Caption = "双击我显示时间"       '设置文本
        lbl1.Visible = True         '设置可见
        lbl1.BackColor = &HFFFFFF
        Set shijian = Me.Controls.Add("vb.timer", "timer1")
    End SubPrivate Sub lbl1_DblClick() 'lbl1双击事件shijian_Timer
    End SubPrivate Sub cmd1_click()  '动态创建的cmd1被点击
        MsgBox txt1.Text
    End SubPrivate Sub shijian_Timer()
    shijian.Enabled = True
    shijian.Interval = 1000
    lbl1.Caption = Time
    End Sub
      

  2.   

    动态创建窗体
    Dim aform As New Form1
    Private Sub Command1_Click()
        aform.Show
    End Sub
      

  3.   

    把:
    atf.Show
    改成:
    atf.Show 1