| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 16483 人关注过本帖
标题:VB怎样跳出Do While……Loop 循环??请大家指导下.
只看楼主 加入收藏
爱已飘零
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2011-7-13
结帖率:57.14%
收藏
已结贴  问题点数:30 回复次数:6 
VB怎样跳出Do While……Loop 循环??请大家指导下.
要求:窗体上有一个复选框控件chkAutoTest,点击控件(即被选中)时执行循环语句,再次点击控件(即未被选中)时退出循环.
    我这个VB程序怎么退不出循环呢,循环时点chkAutoTest_Click没有反应啊,退不出??
VB代码如下:
Dim LoopFlag As Byte
Private Sub chkAutoTest_Click()
    If chkAutoTest.Value = 1 Then
        LoopFlag = 1
    Else
        LoopFlag = 0
    End If
   Do While LoopFlag = 1
        TimeDelay (1000)    ‘延时1s函数
        DoEvents
         If LoopFlag = 0 Then
               Exit Do
         End If
     Loop
End Sub
搜索更多相关主题的帖子: 延时 
2011-12-02 15:52
欲与天斗
Rank: 4
等 级:业余侠客
帖 子:88
专家分:270
注 册:2010-10-6
收藏
得分:10 
这个很好啊,每次循环都判断那个复选框是不是选中,没有选中直接exit do不就好了?
2011-12-02 17:36
爱已飘零
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2011-7-13
收藏
得分:0 
回复 2楼 欲与天斗
但是有问题啊,循环时,你点那个复选框没有反应啊.因为进入了死循环,循环条件的值没有改变,永远为真.
2011-12-02 17:54
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4941
专家分:30047
注 册:2008-10-15
收藏
得分:10 
Dim LoopFlag As Byte
Private Sub chkAutoTest_Click()
Do
 If chkAutoTest.Value = 1 Then
LoopFlag = 1
 Else
LoopFlag = 0
 End If
  TimeDelay (1000) ‘延时1s函数
 DoEvents
Loop While LoopFlag = 1
End Sub

授人于鱼,不如授人于渔
早已停用QQ了
2011-12-02 19:12
欲与天斗
Rank: 4
等 级:业余侠客
帖 子:88
专家分:270
注 册:2010-10-6
收藏
得分:0 
回复 3楼 爱已飘零
嗯,说的有道理,单线程,遇到死循环,窗口就死了,确实点不了,不好意思
2011-12-02 23:28
欲与天斗
Rank: 4
等 级:业余侠客
帖 子:88
专家分:270
注 册:2010-10-6
收藏
得分:0 
回复 5楼 欲与天斗
那你就要创建线程了
2011-12-02 23:30
W11400661
Rank: 8Rank: 8
来 自:达拉达斯
等 级:蝙蝠侠
威 望:2
帖 子:163
专家分:834
注 册:2008-10-12
收藏
得分:10 
checkbox点击进入循环,因为代码没有执行完,不会再次响应CLICK事件,所以你再次点是没反应的
必须在别的地方改变LoopFlag标志
2011-12-03 23:42
快速回复:VB怎样跳出Do While……Loop 循环??请大家指导下.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014466 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved