以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于按钮闪烁的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=56379)

--  作者:pcxjxjhkw
--  发布时间:2014/9/4 10:10:00
--  [求助]关于按钮闪烁的问题

按钮闪烁可以用是否可见来实现,但该方法存在一问题,有时单击时,该按钮处于不可见状态。

我想用是否显示按钮图标来实现,请教大家,如何用代码实现?

问题出在:If xx.Image = GetImage("1.Ico") Then

如何判断按钮图标名称?


--  作者:Bin
--  发布时间:2014/9/4 10:16:00
--  
为按钮的 basecontrol.tag 储存一个值来保存当前图标文件名 用作判断
--  作者:pcxjxjhkw
--  发布时间:2014/9/4 10:32:00
--  
Bin老师,能否详细一点?谢谢
--  作者:有点甜
--  发布时间:2014/9/4 11:38:00
--  

If xx.ImageFile = ProjectPath & "1.Ico" Then


--  作者:pcxjxjhkw
--  发布时间:2014/9/4 11:40:00
--  

谢谢甜老师

 


--  作者:pcxjxjhkw
--  发布时间:2014/9/4 11:50:00
--  

 If xx.ImageFile = ProjectPath & "bell12.png" Then
        xx.Image = GetImage("bell12.png")
    Else
        xx.Image = Nothing
    End If

 

甜老师,以上代码还是未达到目的哟


--  作者:有点甜
--  发布时间:2014/9/4 11:51:00
--  

 你做个例子发上来吧。为什么一定要用图标,用背景颜色不行?


--  作者:逛逛
--  发布时间:2014/9/4 12:11:00
--  

换一个简单的

 

如果是 Standard

 

窗口计时器代码

 

Dim but As WinForm.Button = e.Form.Controls("Button1")
If but.VisualStyle = 3 Then
    but.VisualStyle = 4
    Return
Else
    but.VisualStyle  = 3
End  If

 

如果不是  Standard

 

就设背景颜色


--  作者:lsy
--  发布时间:2014/9/4 13:04:00
--  

AfterLoad

Dim but As WinForm.Button = e.Form.Controls("Button1")
but.BaseControl.Tag = 1

 

TimerTick

Dim but As WinForm.Button = e.Form.Controls("Button1")
If but.BaseControl.Tag = 1 Then   
    but.Image = GetImage("002.ico")
    but.BaseControl.Tag = 2
Else  
    but.Image = GetImage("001.ico")
    but.BaseControl.Tag = 1
End If


--  作者:pcxjxjhkw
--  发布时间:2014/9/4 14:46:00
--  

谢谢,用lsy老师的方面解决了