初学者遇到一个对我来说很困惑的问题, 请高人指点
zgznn 2008-03-18 12:01:31 是这样,我写的一段试验小程序 就一个窗口 上面两个按钮 和一个定时器。 一个按钮的名字是“开始”(也就是启动定时器),另一个按钮是“停止”(中止停时器)
我的定时器定的是500ms(这个值经我试验比较合适)。我那个定时器里干的事是监督正在运行本程序以外的其它程序的用途,比如说“记事本”或者“计算器”等等。 现在有一个问题,程序开始运行。我按下开始按钮,启动定时器,但是这个时候我发现 那个“停止”的钮无法按下去,好象有点闪,我得按好几次才能把它按下去中止。 我要移动我这个程序的窗口的标题栏想把他变换一个屏幕的位置也不行。偶尔可以移动一点我想可能也是刚从定时器中跳出来,移一点马上又进入定时器执行去了,所以无法响应。 定时器里的程序也不复杂。 大概的结构是这样:先是几行赋值语句 以后是 一个小循环 次数我知道60次左右。如(for i=1 to 60), 接下来是一个判断语句
if AAAA then BBBB 个AAAA的信息从前面那60次的小循环里得到,BBBB 也是执行循环60次 后面就没有什么了,有几个小判断,if CCC then DDD 等等。如果AAAA不成立就退出timer了。 就这是么简单的结构。
我的定时间隔我以为定得太频繁了,后来我改成半秒一次还是不行。这个值不能再大了,目前是正好的。我只是想在启动定时器的时候在本程序中还能进行其它操作,如果按“停止”钮和移动标题栏等操作。 后来我听了某人的说法,说是应该使用DoEvents, 但我不知道如何应用于本例。我在网上找到的DoEvents 用法好象都不适用我啊。我不知道我这个程序结构里在哪里加上这一句话。
我是一个初学者,这个问题困扰我一个星期了,我实在想不出来了,想各位前辈请教,谢谢!