以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [原创]跑马灯效果  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73458)

--  作者:baicaocao
--  发布时间:2015/8/19 16:07:00
--  [原创]跑马灯效果
效果为:文字行,从右往左移动。

步骤:
1.新建窗口:添加标签:名称为:lblMsg.
2.窗口afterload事件:
\'跑马灯效果
Dim lblmsg As WinForm.Label = e.Form.Controls("lblMsg") \'需要做跑马灯的字体.
vars("topx")=e.Form.width \'窗口长度用全局变量设置
lblMsg.Location = New Point(vars("topx"), vars("topy"))   \' 设定lblMsg控件的起始位置
lblMsg.AutoSize = True              \' 设定此控件能依数据调整大小
lblMsg.Font = New System.Drawing.Font("标楷体", 20, FontStyle.Bold)
\'\' 设定跑马灯控件内的文字为标楷体?大小为20?粗体字
\'cmd.CommandText = "s ele ct 值 fr om 全局参数 whe re 参数名称 = \'滚动文字\'"
\'lblMsg.Text = cmd.ExecuteScalar()    \'设定跑马灯所显示的文字
\'这里是在数据库中查询文字,可以直接赋值
lblMsg.Text="我是跑马灯"
e.Form.TimerInterval = 10  \'设定定时器周期为10/1000=0.01秒
e.Form.TimerEnabled = True  \' 起动定时器

3.窗口TimerTick事件:
Dim lblMsg As WinForm.Label = e.Form.Controls("lblMsg")
If Vars("flag") = True Then     \'  左移
    Vars("topx") -= 1
    lblMsg.Location = New Point(Vars("topx"), Vars("topy"))
    If (Integer.Parse(lblMsg.Left) <= e.Form.width * 0.25) Then
        \'如果已经确定终点,那么.
        Vars("topx")=e.Form.width
    End If
Else
    \'Vars("topx") += 1
    \'lblMsg.Location = New Point(Vars("topx"), Vars("topy"))
    \'If (Integer.Parse(lblMsg.Left) >= Integer.Parse(e.Form.Width))  Then
        \'Vars("topx")=700
    \'End If
End If


--  作者:大红袍
--  发布时间:2015/8/19 17:12:00
--  
 嗯嗯,还是不错的。
--  作者:time
--  发布时间:2015/8/27 13:50:00
--  

测试过无法实现,请版主检查一下代码。


--  作者:大红袍
--  发布时间:2015/8/27 14:12:00
--  
以下是引用time在2015/8/27 13:50:00的发言:

测试过无法实现,请版主检查一下代码。

 

 

控制 Vars("flag") = True


--  作者:dy6608
--  发布时间:2015/9/5 17:12:00
--  
ok
--  作者:狐作非为
--  发布时间:2016/2/29 16:15:00
--  
请教一下,如果想按表中的行的某字段循环显示,上面的代码如何修改?
--  作者:大红袍
--  发布时间:2016/2/29 16:22:00
--  

e.Form.Controls("Label1").Text = tables("表A").Rows(0)("第一列")

 

或者,直接把label绑定列。

 

 


--  作者:狐作非为
--  发布时间:2016/2/29 16:27:00
--  
谢谢,希望是逐行显示
[此贴子已经被作者于2016/2/29 16:28:05编辑过]

--  作者:狐作非为
--  发布时间:2016/2/29 16:29:00
--  
红袍老师,我是想逐行显示
--  作者:大红袍
--  发布时间:2016/2/29 16:32:00
--  
以下是引用狐作非为在2016/2/29 16:29:00的发言:
红袍老师,我是想逐行显示

 

参考,类似,不会做,就单独开帖上传例子。

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=81427&skin=0