CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

问个有点难度的问题,请来帮忙.

楼主feihu0002(飞狐)2005-06-01 16:47:46 在 VB / 基础类 提问

有的VB程序要运行好长时间,于是我想在窗口上加个按钮,在程序运行时,点击一下程序就会暂停,  
   
  再次点击程序又开始运行.就像realone看电影一样.  
   
  请教高手,有什么办法可以实现这个功能. 问题点数:20、回复次数:12Top

1 楼sparkwong(俺做油画代理:http://www.1stPainting.com)回复于 2005-06-01 22:27:46 得分 0

弄一个timer,先弄个静态变量,然后暂停的时候enabled=false,再开始的时候再=true,可以吗?Top

2 楼cxbkkk(本命年,旺啊!)回复于 2005-06-02 00:06:36 得分 0

楼上正解,建议好好看看书,这个一般是一个倒计时器的例子Top

3 楼jauntlin(逍遥吉他手)回复于 2005-06-02 00:43:17 得分 0

Timer控件就搞定了Top

4 楼flyingscv(zlj)回复于 2005-06-02 09:14:58 得分 0

doeventTop

5 楼feihu0002(飞狐)回复于 2005-06-02 09:19:04 得分 0

我还是没明白一个TIMER就搞定了??  
   
  比如我做了个含有多个FOR保持循环的程序,在计算过程中我想让它停下来,再次点击一个按钮,又让它接着运行。一个TIMER怎么做呀。  
   
  请各位说得详细一点好吗?谢过了先。Top

6 楼zuoxingyu(激情成就梦想)回复于 2005-06-02 09:43:02 得分 0

在FOR循环中停下来?  
   
  关注.  
   
  用TIMER怎么做?Top

7 楼hsghxm(专业杀鸡)回复于 2005-06-02 10:15:17 得分 0

"比如我做了个含有多个FOR保持循环的程序,在计算过程中我想让它停下来,再次点击一个按钮,又让它接着运行"  
  针对上面的问题解决办法倒有一个,不过就是难看了点:  
        窗体的按纽下只要一行代码就可以了那就是:   MsgBox   "123"  
  因为只要msgbox对话框不消失的话程序一直处于暂停状态,点确定消失了程序就会继续运行!  
  简单吧???Top

8 楼tywong(别人的天长地久)回复于 2005-06-02 10:26:59 得分 10

可以定义一个全局变量。如:   dim   blnStop   as   boolean    
                                                       
  然后这样:  
  停止按钮事件:  
   
  sub   cmdStop_click()  
          blnstop=not   blnstop  
  end   sub  
                 
  Timer事件:  
  sub       Timer1_Timer()  
                dim   i   as   integer  
                static   j   as   integer  
                   
                for   i=j   to   10000  
                          doevents  
                          if   not   blnstop   then    
                                '做爱做的事  
                                j=i  
                                debug.print   i    
                          else  
                                exit   for  
                          end   if      
                next  
  end   subTop

9 楼feihu0002(飞狐)回复于 2005-06-02 11:14:42 得分 0

说实在的楼上的都不是好办法.你们想谁会把自己的运算程序全部写入到timer1_timer()事件中?  
   
   
  用MSGBOX的方法是可行的但是程序也太不漂亮了吧.  
  Top

10 楼zhangzhijian(逍遥||淡水鱼)回复于 2005-06-02 11:23:21 得分 0

那也可以把程序分分开的么,调用方法不就可以了Top

11 楼sparkwong(俺做油画代理:http://www.1stPainting.com)回复于 2005-06-02 20:03:01 得分 0

我觉得你多设个布尔值应该可以的,通过判断布尔值来判断是否激活定时器啊Top

12 楼hua32000(华)回复于 2005-06-03 09:44:50 得分 10

设置一个全局布尔值如blcontinue和按钮关联,在程序中加入  
   for   ...  
          doevents  
          if   not   blcontinue   then    
                call   ProcessBreak()  
          end   if  
      next  
  private   sub   ProBreak()  
        do    
            doevents  
              if   blcontinue   then  
                    exit   sub  
              end   if  
        loop   while   1  
  end   subTop

相关问题

  • 有点难度的问题
  • 有点难度的问题!
  • 有点难度的问题,
  • 有点难度的问题
  • 有点难度的问题
  • 有点难度的问题
  • 有点难度的问题
  • 问个有点难度的问题:
  • 问一个有点难度的问题
  • 问个问题...有点难度哦!!

关键词

  • 循环
  • 程序
  • blnstop
  • blcontinue
  • timer
  • 按钮
  • doevents
  • 布尔
  • 点击
  • 运行

得分解答快速导航

  • 帖主:feihu0002
  • tywong
  • hua32000

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo