VB语言基础重要知识点08

  • 2019 年 10 月 10 日
  • 筆記

这是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