租房买房买生意上iU91
查看: 555|回复: 4
打印 上一主题 下一主题

[电脑] 请教VB高手T_T

[复制链接]   [推荐给好友]
跳转到指定楼层
楼主
发表于 2005-11-5 15:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Private Sub Disable_Click()
    Dim Response
    Dim oResult As Long
    Dim I
    NodeID.Text = m_wNodeId
    I = 1
    oResult = VCS_SetDisableState(m_KeyHandle, m_wNodeId, m_lErrorCode)
   
    'oResult = False everytime , so excute Do While ... Loop

    Do While I = 1
    If (oResult = False) Then
        Timer1.Enabled = False
      
        Timer2.Enabled = True
      
    End If
    Loop
End Sub
--------------------------------------
Private Sub Timer2_Timer()
  Dim Response
  Response = MsgBox("timer2", vbOKOnly, "Error", "", 0)
  Timer2.Enabled = False
End Sub

问题: 为什么执行后,不弹出msgbox"timer2" ?, 但是去掉Do While...Loop,却能弹出呢?
2#
发表于 2005-11-5 18:13 | 只看该作者
因为你的loop是死循环, 程序永远在loooooop
回复 支持 反对

使用道具 举报

3#
 楼主| 发表于 2005-11-6 09:47 | 只看该作者
那怎样改,才能又无限循环,又能执行Timer2_Time()里的事件?
回复 支持 反对

使用道具 举报

4#
 楼主| 发表于 2005-11-6 09:50 | 只看该作者
请问在VB中,还有什么语句可以精确delay time到ms ??
回复 支持 反对

使用道具 举报

5#
发表于 2005-11-6 21:07 | 只看该作者
Do While I = 1
     If (oResult = False) Then
         Timer1.Enabled = False
        
         Timer2.Enabled = True
        break 'or something like this, i don't remember the VB syntax
     End If
     Loop
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

Copyright © 1999 - 2025 by Sinoquebec Media Inc. All Rights Reserved 未经许可不得摘抄  |  GMT-5, 2025-2-5 00:11 , Processed in 0.045230 second(s), 35 queries .