| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1283 人关注过本帖
标题:为什么点击停止时会执行CmdStop_Click()
取消只看楼主 加入收藏
烟雨袅袅
Rank: 6Rank: 6
来 自:星空雨际
等 级:侠之大者
威 望:1
帖 子:430
专家分:494
注 册:2007-11-26
结帖率:100%
收藏
 问题点数:0 回复次数:2 
为什么点击停止时会执行CmdStop_Click()
这是一列出下级所有目录VB源码,为什么点击停止时会执行CmdStop_Click(),是哪里设置的


Option Explicit


Private Sub CmdStart_Click()
Static running As Boolean

Dim AllDirs As New Collection
Dim next_dir As Integer
Dim dir_name As String
Dim sub_dir As String
Dim i As Integer
Dim txt As String

    If running Then
        running = False
        CmdStart.Enabled = False
        CmdStart.Caption = "Stopping"
    Else
        running = True
        MousePointer = vbHourglass
        CmdStart.Caption = "Stop"
        OutText.Text = ""
        DoEvents
        
        next_dir = 1
        AllDirs.Add StartText.Text ' 开始
        Do While next_dir <= AllDirs.Count
            ' 获得下一个子目录
            dir_name = AllDirs(next_dir)
            next_dir = next_dir + 1
            
            ' 从 dir_name 读路径
            sub_dir = Dir$(dir_name & "\*", vbDirectory)
            Do While sub_dir <> ""
                ' 添加路径名称到列表
                ' 它是一个路径
                If UCase$(sub_dir) <> "PAGEFILE.SYS" And _
                    sub_dir <> "." And sub_dir <> ".." _
                Then
                    sub_dir = dir_name & "\" & sub_dir
                    On Error Resume Next
                    If GetAttr(sub_dir) And vbDirectory _
                        Then AllDirs.Add sub_dir
                End If
                sub_dir = Dir$(, vbDirectory)
            Loop
            DoEvents
            If Not running Then Exit Do
        Loop
   
        ' 更新显示
        txt = ""
        For i = 1 To AllDirs.Count
            txt = txt & AllDirs(i) & vbCrLf
        Next i
        OutText.Text = txt
        MousePointer = vbDefault
        CmdStart.Caption = "Start"
        CmdStart.Enabled = True
        running = False
    End If
End Sub


Private Sub CmdStop_Click()
    CmdStart.Enabled = False
    CmdStop.Enabled = False
    running = False
End Sub


[[italic] 本帖最后由 烟雨袅袅 于 2007-12-10 05:36 编辑 [/italic]]

列出所有下级目录.rar (2.64 KB)
搜索更多相关主题的帖子: Click CmdStop 时会 Dim running 
2007-12-10 05:35
烟雨袅袅
Rank: 6Rank: 6
来 自:星空雨际
等 级:侠之大者
威 望:1
帖 子:430
专家分:494
注 册:2007-11-26
收藏
得分:0 
原帖由 [bold][underline]purana[/underline][/bold] 于 2007-12-10 09:31 发表 [url=http://bbs.][/url]
看running变量


还是不明白啊,请明示
2007-12-10 15:40
烟雨袅袅
Rank: 6Rank: 6
来 自:星空雨际
等 级:侠之大者
威 望:1
帖 子:430
专家分:494
注 册:2007-11-26
收藏
得分:0 
当时看的时候还没有特别注意 doevents 没想到起到这么重要的作用,

在设计窗口里并没有看到CmdStop 控件,估计是有人把它删除了,其实
Private Sub CmdStop_Click()
    CmdStart.Enabled = False
    CmdStop.Enabled = False
    running = False
End Sub
是不执行的
很感谢purana版主热心指点

[[italic] 本帖最后由 烟雨袅袅 于 2007-12-10 16:19 编辑 [/italic]]
2007-12-10 16:18
快速回复:为什么点击停止时会执行CmdStop_Click()
数据加载中...
 
   



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

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