Private Sub Command1_Click()
    Dim i As Long
    
    Command2.Enabled = False
    Form1.Enabled = False
    
    For i = 0 To 100000000
       i = i + 1
    Next i
    
    Form1.Enabled = True
    DoEvents  '加上这句
    Command2.Enabled = True
End SubPrivate Sub Command2_Click()
    MsgBox "s"
End Sub

解决方案 »

  1.   

    其实问题就在Command2.Enabled = True这句上,当Command1处理完以后
    Command2.Enabled = True,那么Command2控件还是有效的,试着去掉
    Command2.Enabled = True这句,就不会执行Command2_Click()事件了
      

  2.   

    不好意思!
    我的代码写错了!
    Private Sub Command1_Click()
     Form1.Enabled = False
     Dim i As Long
     For i = 0 To 100000000
        i = i + 1
     Next i
     Form1.Enabled = True
    End SubPrivate Sub Command2_Click()
    If Command2.Enabled = False Then Exit Sub
         MsgBox "s"
    End Sub是这样的!
    问题还是和上面一样!
    我试过了,还是不行!
      

  3.   

    就像第一位老兄所说的,
    在Form1.Enabled = True之前加上
    DoEvents就可以了。