设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2826|回复: 4
打印 上一主题 下一主题

[模块/函数] 字符闪烁中窗体ontimer属性问题

[复制链接]
跳转到指定楼层
1#
发表于 2013-8-3 17:02:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
效果:点击按钮字符闪烁,再次点击则停止。

Private Sub btnFlashLabel_Click()

If Me!btnPulseLabel.Caption = "Stop" Then Exit Sub  //其他功能按钮
If Me!btnTitleBar.Caption = "Stop" Then Exit Sub    //其他功能按钮
If Me!Switcher = "False" Then

    Me.OnTimer = "=LabelFlasher()"   //这个函数实现亮灭一次(函数没有贴出),是不是按第一次时一直执行这个函数。再 按 一次时则执行else后面的语句。ontimer 属性怎么运行,它什么时候停止。

    Me!Switcher = "True"
    Me!btnFlashLabel.Caption = "Stop"
    Me!btnFlashLabel.ForeColor = 255
Else
    Me.OnTimer = ""
    Me.Switcher = "False"
    Me!btnFlashLabel.Caption = "Blinken"
    Me.FlashLabel.Visible = True
    Me!btnFlashLabel.ForeColor = 0
End If

End Sub
求教这个过程的运行细节。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2013-8-3 17:07:33 | 只看该作者
这个就是利用窗体的定时器事件  Timer事件 来实现的,有什么不太明白? 具体哪句代码?
3#
 楼主| 发表于 2013-8-3 18:22:45 | 只看该作者
这一段:
If Me!Switcher = "False" Then
Me.OnTimer = "=LabelFlasher()"  
Me!Switcher = "True"
    Me!btnFlashLabel.Caption = "Stop"
    Me!btnFlashLabel.ForeColor = 255
为什么一按按钮就一直执行LabelFlasher(),直到第二次按下按钮才去执行else语句后面的代码。
如果一按按钮就一直执行LabelFlasher(),那么这些语句
   Me!Switcher = "True"
    Me!btnFlashLabel.Caption = "Stop"
    Me!btnFlashLabel.ForeColor = 255
是不是应该等LabelFlasher()执行完了再运行。可实际上并不是这样的。实际运行是:一按下按钮按钮就变成红色stop
并且字符一直闪烁。再单击则回到开始的状态。

点击这里给我发消息

4#
发表于 2013-8-4 10:00:51 | 只看该作者
因为 开始 Me!Switcher = "False" 所以就执行
Me.OnTimer = "=LabelFlasher()"  
而 ONTIMER事件执行时
你又设置了 Me!Switcher = "True" 所以他就执行了Else的代码
5#
 楼主| 发表于 2013-8-6 11:21:58 | 只看该作者
你好站长,你看程序是不是这样运行:ontimer事件执行一次后就应该执行else后面的代码,然后又返回到if语句再次执行ontimer事件,然后再次执行else后面的代码。这样一直循环下去吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-17 01:46 , Processed in 0.071125 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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