找回密码
 加入
搜索
查看: 2966|回复: 8

[AU3基础] [已解决]各位老师,为什么点击Button3,会依赖于Button2呢?

  [复制链接]
发表于 2010-10-31 10:30:34 | 显示全部楼层 |阅读模式
本帖最后由 smooth 于 2010-11-9 08:26 编辑

Button3是退出,于Button2是执行。如果直接点击于Button3,不弹出MsgBox的内容直接退出程序,
如果点击Button3之前点击一下Button2,则Button3对应的MsgBox能弹出来,尽管有缺陷。
各位老师,为什么点击Button3,会依赖于Button2呢?他们是位于不同的case之下的呀。谢谢。
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                        Case $GUI_EVENT_CLOSE
                            If MsgBox(1, "温馨提示", "退出程序并访问鼎盛中国网站吗?") = 1 Then
                                        shellexecute("Http://hi.baidu.com/cnace")
                                    _UnLoadSkin($hSkinDll)
                                Exit
                EndIf
                                
                        Case $Button1 
                                _CheckboxOpt($Checkbox, $Button1, 2)
                                
                        Case $Button2
                                Dim $s = 0
                                For $c = 1 To 20
                                        If GUICtrlRead($Checkbox[$c]) = $GUI_CHECKED Then 
                                                $s = 1
                                                ExitLoop
                                        EndIf
                                Next
                                        If $s = 0 Then
                                                $Msg = MsgBox(0, "温馨提示", "您未选择任何项目,请选择要执行的项目后再操作!")
                                        Else                                                        
                                            _main()
                                                For $i=1 To 20
                            GUICtrlSetState($Checkbox[$i],$GUI_UNCHECKED)
;                                                        GUICtrlSetState($Checkbox[$i],$GUI_DISABLE)
                        Next 
                                                If MsgBox(1,"温馨提示", "系统清理完成,要退出程序并访问鼎盛中国网站吗?") = 1 Then
                                                        shellexecute("Http://hi.baidu.com/cnace")
                            _UnLoadSkin($hSkinDll)                                                        
                                                        EXIT
                                                EndIf
                                    EndIf                                    
       
                        Case $Button3
                                Dim $sum,$s = 0
                                    For $c = 1 To 20
                                                If GUICtrlRead($Checkbox[$c]) = $GUI_CHECKED Then
                                                        $s = 1
                                                        $Sum = $Sum + $s
                                                EndIf
                                        Next
                                            If $sum = 0 Then
                                                        If $Msg = MsgBox(1, "温馨提示", "您未执行任何操作,确定退出程序吗?") = 1 Then
                                                    _UnLoadSkin($hSkinDll)
                                                Exit
                                                        EndIf
                                                ElseIf $Sum = 20 Then 
                                                        If $Msg = MsgBox(1, "温馨提示", "您已选择所有项目但未执行,确定退出程序吗?") = 1 Then
                                                                _UnLoadSkin($hSkinDll)
                                                                Exit
                                                        EndIf
                                                Else
                                                        If MsgBox(1, "温馨提示", "您已选择一些项目但未执行,确定退出程序吗?") = 1 Then
                                                                _UnLoadSkin($hSkinDll)
                                                                Exit
                                                        EndIf
                                                EndIf        
        EndSwitch
WEnd

评分

参与人数 1金钱 +10 收起 理由
hzxymkb + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-10-31 11:12:28 | 显示全部楼层
38行                                Dim $sum=0,$s = 0


给 $sum 也赋值。
 楼主| 发表于 2010-10-31 11:43:50 | 显示全部楼层
回复 2# xianhou
按照你的说法修改了相应代码,结果一样的。
发表于 2010-10-31 12:50:36 | 显示全部楼层
楼主的代码 缩进也太乱了吧,我看得一头雾水的。
如果直接点Button3不弹出对话应该不可能啊,起码会弹出56行的对话框。
你可以在44行后面加个MsgBox(0, "", $sum)看看$sum的值是多少。
你贴的代码不全我没法试
 楼主| 发表于 2010-10-31 13:33:51 | 显示全部楼层
回复 4# yhxhappy

我检测过$sum的输出值,是正常的。
发表于 2010-10-31 14:50:51 | 显示全部楼层
$Msg = MsgBox(1, "温馨提示", "您未执行任何操作,确定退出程序吗?") = 1
这样的格式有问题,去掉“ $Msg = ”呢
发表于 2010-10-31 17:42:01 | 显示全部楼层
同意6#所说,楼主的代码里,语法有问题。
发表于 2010-11-4 21:50:01 | 显示全部楼层
继续的支持你顶你
 楼主| 发表于 2010-11-9 08:26:27 | 显示全部楼层
解决了,是代码的逻辑出了点问题。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-3 02:19 , Processed in 0.088280 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表