窗体1,有Command7
现在要求把全部窗体都打开,然后在隐藏(除了1窗体除外)
速度越快越好,如果能直接实现每个窗体隐藏的效果,更好了,该怎么写

解决方案 »

  1.   

    Private Sub Command1_Click()
    Form2.Hide
    Form3.Hide
    Form4.Hide
    Form5.Hide
    End SubPrivate Sub Command2_Click()
    Form2.Show
    Form3.Show
    Form4.Show
    Form5.Show
    End Sub
      

  2.   

    Form9.Hide
    Form10.Hide
    Form11.Hide
    Form12.Hide
    Form19.Hide
    Form14.Hide
    Form15.Hide
    Form16.Hide
    Form17.Hide
    Form18.Hide
    Form20.Hide
    Form21.Hide
    Form22.Hide
    Form32.Hide
    Form24.Hide
    Form25.Hide
    Form26.Hide
    Form27.Hide
    Form28.Hide
    Form29.Hide
    老师,我这么写也太费劲了,而且运行起来也慢,有没有更快的。除了1窗体全部隐藏
      

  3.   

    在一个标准模块中定义一个全局的数组:
    Public objForms(20) As Form   '按需要定义数组的大小
    'Global objForms(20) As Form然后在每个窗体的 Form_Load() 事件中加入:
    '   这里的 1 是你自己对每个窗体确定的‘索引号’
        Set objForms(1) = Me
    然后在每个窗体的 Form_Unload() 事件中加入:
    '   这里的 1 是你自己对每个窗体确定的‘索引号’
        Set objForms(1) = Nothing窗体的显示与隐藏就可以这样操作:
    Private Sub Command1_Click()
    '隐藏窗体
        Dim i%
        For i = 1 To 20
            If Not objForms(i) Is Nothing Then objForms(i).Hide
        Next
        
    End SubPrivate Sub Command2_Click()
    '显示窗体
        Dim i%
        For i = 1 To 20
            If Not objForms(i) Is Nothing Then objForms(i).Show
        Next
    End Sub
      

  4.   

    你的 Form1 不进行 隐藏/显示,你就不要把它加到这个数组内。