Create a new project
Add a button on top of the form, change text to: Start Timer
Below the button add 3 labels, 3 textboxes and 3 checkboxes.
Also add a Timer to the form.
We will use the timer in this program to start the generation of random numbers and add them randomly to our objects.
Double click on Timer1 on the design form, add this inside the sub:
If Timer1.Enabled = True Then
Timer1.Enabled = False
Button1.Text = "Start Timer"
Exit Sub
End If
Timer1.Enabled = True
Button1.Text = "Stop"
-> first click on the button starts the timer, the following click will stop it
Double click on the timer, insert this in the sub:
Dim a1 As New Random
Dim b1 As Integer
Dim b2 As Integer
b1 = a1.Next(1, 101)
b2 = a1.Next(1, 4)-> "a1" is here the name of our random generator
a1.Next(1, 101) - we use "a1" to generate numbers from 1 to 100
We will store the generated numbers inside the "b1" and "b2" variables.
Following this code we will add inside the same sub:
If b1 > 0 And b1 < 34 Then
ElseIf b1 > 33 And b1 < 67 Then
ElseIf b1 > 66 And b1 < 101 Then
End IfBelow this line If b1 > 0 And b1 < 34 Then add:
If b2 = 1 Then
Label1.Text = b1
ElseIf b2 = 2 Then
TextBox1.Text = b1
ElseIf b2 = 3 Then
CheckBox1.Text = b1
End If-> b2 will determine where b1 is gonna be inserted as text.
Copy the previous code below this line too ElseIf b1 > 33 And b1 < 67 Then. Then change the number "1" from the object names: Label1, TextBox1 and CheckBox1 to 2.
Copy the code below this line as well: ElseIf b1 > 66 And b1 < 101 Then
Change the numbers from the object names to 3.
Code:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Timer1.Enabled = True Then
Timer1.Enabled = False
Button1.Text = "Start Timer"
Exit Sub
End If
Timer1.Enabled = True
Button1.Text = "Stop"
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim a1 As New Random
Dim b1 As Integer
Dim b2 As Integer
b1 = a1.Next(1, 101)
b2 = a1.Next(1, 4)
If b1 > 0 And b1 < 34 Then
If b2 = 1 Then
Label1.Text = b1
ElseIf b2 = 2 Then
TextBox1.Text = b1
ElseIf b2 = 3 Then
CheckBox1.Text = b1
End If
ElseIf b1 > 33 And b1 < 67 Then
If b2 = 1 Then
Label2.Text = b1
ElseIf b2 = 2 Then
TextBox2.Text = b1
ElseIf b2 = 3 Then
CheckBox2.Text = b1
End If
ElseIf b1 > 66 And b1 < 101 Then
If b2 = 1 Then
Label3.Text = b1
ElseIf b2 = 2 Then
TextBox3.Text = b1
ElseIf b2 = 3 Then
CheckBox3.Text = b1
End If
End If
End Sub
End Class
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Timer1.Enabled = True Then
Timer1.Enabled = False
Button1.Text = "Start Timer"
Exit Sub
End If
Timer1.Enabled = True
Button1.Text = "Stop"
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim a1 As New Random
Dim b1 As Integer
Dim b2 As Integer
b1 = a1.Next(1, 101)
b2 = a1.Next(1, 4)
If b1 > 0 And b1 < 34 Then
If b2 = 1 Then
Label1.Text = b1
ElseIf b2 = 2 Then
TextBox1.Text = b1
ElseIf b2 = 3 Then
CheckBox1.Text = b1
End If
ElseIf b1 > 33 And b1 < 67 Then
If b2 = 1 Then
Label2.Text = b1
ElseIf b2 = 2 Then
TextBox2.Text = b1
ElseIf b2 = 3 Then
CheckBox2.Text = b1
End If
ElseIf b1 > 66 And b1 < 101 Then
If b2 = 1 Then
Label3.Text = b1
ElseIf b2 = 2 Then
TextBox3.Text = b1
ElseIf b2 = 3 Then
CheckBox3.Text = b1
End If
End If
End Sub
End Class
Start program.
We can add more changes to the current program.
Add another button next to the previous one, change text to: Start Timer2
Add another Timer too.
Changing randomly the background of our objects
Object_Name.BackColor = Color. -> at this point inside the code you are offered a menu with predefined colors. Instead of using those, we will use custom colors and randomize their number parameters.
Passing a custom color from the RGB color model to the background is usually done like this:
Object_Name.BackColor = Color.FromArgb(number1, number2, number3)
-> "number1", "number2" and "number3" are numbers from 0 to 255. We will apply our random code here:
a1.next(0, 255)
I just copied all the previous code of the program and adapted it to the new button and timer. Then I have inserted the new background changes that will be happening. You can keep adding variety to the objects like this.
Final code:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Timer1.Enabled = True Then
Timer1.Enabled = False
Button1.Text = "Start Timer"
Exit Sub
End If
Timer1.Enabled = True
Button1.Text = "Stop"
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim a1 As New Random
Dim b1 As Integer
Dim b2 As Integer
b1 = a1.Next(1, 101)
b2 = a1.Next(1, 4)
If b1 > 0 And b1 < 34 Then
If b2 = 1 Then
Label1.Text = b1
ElseIf b2 = 2 Then
TextBox1.Text = b1
ElseIf b2 = 3 Then
CheckBox1.Text = b1
End If
ElseIf b1 > 33 And b1 < 67 Then
If b2 = 1 Then
Label2.Text = b1
ElseIf b2 = 2 Then
TextBox2.Text = b1
ElseIf b2 = 3 Then
CheckBox2.Text = b1
End If
ElseIf b1 > 66 And b1 < 101 Then
If b2 = 1 Then
Label3.Text = b1
ElseIf b2 = 2 Then
TextBox3.Text = b1
ElseIf b2 = 3 Then
CheckBox3.Text = b1
End If
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If Timer2.Enabled = True Then
Timer2.Enabled = False
Button2.Text = "Start Timer2"
Exit Sub
End If
Timer2.Enabled = True
Button2.Text = "Stop"
End Sub
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
Dim a1 As New Random
Dim b1 As Integer
Dim b2 As Integer
b1 = a1.Next(1, 101)
b2 = a1.Next(1, 4)
If b1 > 0 And b1 < 34 Then
If b2 = 1 Then
Label1.BackColor = Color.FromArgb(a1.Next(0, 255), a1.Next(0, 255), a1.Next(0, 255))
ElseIf b2 = 2 Then
TextBox1.BackColor = Color.FromArgb(a1.Next(0, 255), a1.Next(0, 255), a1.Next(0, 255))
ElseIf b2 = 3 Then
CheckBox1.BackColor = Color.FromArgb(a1.Next(0, 255), a1.Next(0, 255), a1.Next(0, 255))
If CheckBox1.Checked = True Then
CheckBox1.Checked = False
Exit Sub
End If
CheckBox1.Checked = True
End If
ElseIf b1 > 33 And b1 < 67 Then
If b2 = 1 Then
Label2.BackColor = Color.FromArgb(a1.Next(0, 255), a1.Next(0, 255), a1.Next(0, 255))
ElseIf b2 = 2 Then
TextBox2.BackColor = Color.FromArgb(a1.Next(0, 255), a1.Next(0, 255), a1.Next(0, 255))
ElseIf b2 = 3 Then
CheckBox2.BackColor = Color.FromArgb(a1.Next(0, 255), a1.Next(0, 255), a1.Next(0, 255))
If CheckBox2.Checked = True Then
CheckBox2.Checked = False
Exit Sub
End If
CheckBox2.Checked = True
End If
ElseIf b1 > 66 And b1 < 101 Then
If b2 = 1 Then
Label3.BackColor = Color.FromArgb(a1.Next(0, 255), a1.Next(0, 255), a1.Next(0, 255))
ElseIf b2 = 2 Then
TextBox3.BackColor = Color.FromArgb(a1.Next(0, 255), a1.Next(0, 255), a1.Next(0, 255))
ElseIf b2 = 3 Then
CheckBox3.BackColor = Color.FromArgb(a1.Next(0, 255), a1.Next(0, 255), a1.Next(0, 255))
If CheckBox3.Checked = True Then
CheckBox3.Checked = False
Exit Sub
End If
CheckBox3.Checked = True
End If
End If
End Sub
End Class
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Timer1.Enabled = True Then
Timer1.Enabled = False
Button1.Text = "Start Timer"
Exit Sub
End If
Timer1.Enabled = True
Button1.Text = "Stop"
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim a1 As New Random
Dim b1 As Integer
Dim b2 As Integer
b1 = a1.Next(1, 101)
b2 = a1.Next(1, 4)
If b1 > 0 And b1 < 34 Then
If b2 = 1 Then
Label1.Text = b1
ElseIf b2 = 2 Then
TextBox1.Text = b1
ElseIf b2 = 3 Then
CheckBox1.Text = b1
End If
ElseIf b1 > 33 And b1 < 67 Then
If b2 = 1 Then
Label2.Text = b1
ElseIf b2 = 2 Then
TextBox2.Text = b1
ElseIf b2 = 3 Then
CheckBox2.Text = b1
End If
ElseIf b1 > 66 And b1 < 101 Then
If b2 = 1 Then
Label3.Text = b1
ElseIf b2 = 2 Then
TextBox3.Text = b1
ElseIf b2 = 3 Then
CheckBox3.Text = b1
End If
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If Timer2.Enabled = True Then
Timer2.Enabled = False
Button2.Text = "Start Timer2"
Exit Sub
End If
Timer2.Enabled = True
Button2.Text = "Stop"
End Sub
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
Dim a1 As New Random
Dim b1 As Integer
Dim b2 As Integer
b1 = a1.Next(1, 101)
b2 = a1.Next(1, 4)
If b1 > 0 And b1 < 34 Then
If b2 = 1 Then
Label1.BackColor = Color.FromArgb(a1.Next(0, 255), a1.Next(0, 255), a1.Next(0, 255))
ElseIf b2 = 2 Then
TextBox1.BackColor = Color.FromArgb(a1.Next(0, 255), a1.Next(0, 255), a1.Next(0, 255))
ElseIf b2 = 3 Then
CheckBox1.BackColor = Color.FromArgb(a1.Next(0, 255), a1.Next(0, 255), a1.Next(0, 255))
If CheckBox1.Checked = True Then
CheckBox1.Checked = False
Exit Sub
End If
CheckBox1.Checked = True
End If
ElseIf b1 > 33 And b1 < 67 Then
If b2 = 1 Then
Label2.BackColor = Color.FromArgb(a1.Next(0, 255), a1.Next(0, 255), a1.Next(0, 255))
ElseIf b2 = 2 Then
TextBox2.BackColor = Color.FromArgb(a1.Next(0, 255), a1.Next(0, 255), a1.Next(0, 255))
ElseIf b2 = 3 Then
CheckBox2.BackColor = Color.FromArgb(a1.Next(0, 255), a1.Next(0, 255), a1.Next(0, 255))
If CheckBox2.Checked = True Then
CheckBox2.Checked = False
Exit Sub
End If
CheckBox2.Checked = True
End If
ElseIf b1 > 66 And b1 < 101 Then
If b2 = 1 Then
Label3.BackColor = Color.FromArgb(a1.Next(0, 255), a1.Next(0, 255), a1.Next(0, 255))
ElseIf b2 = 2 Then
TextBox3.BackColor = Color.FromArgb(a1.Next(0, 255), a1.Next(0, 255), a1.Next(0, 255))
ElseIf b2 = 3 Then
CheckBox3.BackColor = Color.FromArgb(a1.Next(0, 255), a1.Next(0, 255), a1.Next(0, 255))
If CheckBox3.Checked = True Then
CheckBox3.Checked = False
Exit Sub
End If
CheckBox3.Checked = True
End If
End If
End Sub
End Class
Start the program.
Obviously, the whole program could be placed under a single button and timer. Then you won't be able to apply different changes with different buttons.