首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VB语言基础重要知识点08

VB语言基础重要知识点08

作者头像
刘金玉编程
发布2019-09-29 17:04:04
7910
发布2019-09-29 17:04:04
举报
文章被收录于专栏:编程创造城市编程创造城市

这是VB语言基础知识第8期。

一、手动控制闪烁状态

我们先简单实现一个小程序。

通过控制timer控件的enable属性来设置文字是否闪烁。

如果检测按钮文字为“停止”,那么设置按钮文字为“闪烁”。

如果检测按钮文字为“闪烁”,那么设置按钮文字为“停止”。

程序效果1

程序效果2

程序界面包含控件:1.timer1时钟控件。2.label1标签控件。3.command1按钮控件。程序界面设计如下:

界面设计

时钟控件的设置属性:

按钮的代码:

If Command2.Caption = "停止" Then    Timer1.Enabled = False    Command2.Caption = "闪烁"Else    Timer1.Enabled = True    Command2.Caption = "停止"End If

时钟控件timer1的源代码:

'控制是否闪烁If Label1.Visible = True Then    Label1.Visible = FalseElse    Label1.Visible = TrueEnd If
Randomize
'控制变色Label1.ForeColor = RGB(Int(256 * Rnd), Int(256 * Rnd), Int(256 * Rnd))

程序控制的逻辑思想:通过判断按钮上面的文字来控制时钟控件是否启用,同时在代码逻辑中插入按钮文字的切换。

通过以上程序,我们看出程序中进行了颜色的控制,我们通过rgb函数和rnd随机数控制我们文字随机变色,会显得很漂亮。那么,随机数该如何使用呢?

二、随机数知识要点

随机数关键词是rnd,这个关键词代表的范围是0到1之间,包含0,不包含1。我们使用表达式来表述为 0<=rnd<1

Randomize的作用:是为了让rnd的随机数增大不同的概率。

为什么randomize会增大不同概率?

因为randomize默认以系统时间作为种子单位。

我们在数学集合中也有范围的表示方式,用[中括号表示包括,用)小括号表示不包含。

0<=rnd<1用 [0,1)来表示。

那么我们使用rnd来表示一下数值的范围:

255*rnd 表示的范围:[0,255)

rnd+254 表示的范围:[254,255)

rnd*220+10 表示的范围:[10,230)

rnd*70+30 [30,100)

我们知道在rgb函数中,每个参数的范围为0~255之间的整数。

提问:如何用rnd表示0到256之间的随机数?

rnd*256表示的是[0,256)

在以上知识中,我们求出的是实数的范围,那么我们该如何来求整数呢?此时,我们需要的是向下取整函数。

向下取整函数使用 int函数表示。

理解向下取整:结果是比这个数最靠近的小的整数。

3.3向下取整的结果是3

3.5向下取整的结果是3

3.9向下取整的结果是3

-3.3向下取整的结果是-4

最后,我们来表示[0,255]之间所有的整数: int(rnd*256)

本节教程所有代码:

Private Sub Command1_Click()Print Label1.Visible
End Sub

Private Sub Command2_Click()If Command2.Caption = "停止" Then    Timer1.Enabled = False    Command2.Caption = "闪烁"Else    Timer1.Enabled = True    Command2.Caption = "停止"End IfEnd Sub
Private Sub Timer1_Timer()
'控制是否闪烁If Label1.Visible = True Then    Label1.Visible = FalseElse    Label1.Visible = TrueEnd If
Randomize
'控制变色Label1.ForeColor = RGB(Int(256 * Rnd), Int(256 * Rnd), Int(256 * Rnd))


End Sub
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程创造城市 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档