Ok, here is the last in this series of ‘Simple Fixed Arrays.’
The first in the series can be found here
Simple Fixed Array Part1and the second is here
Simple Fixed Array Part2 This time we will replace Elements in the Array and update all the RadioButtons, Textbox, ComboBox and labels to reflect the changes we make.
I have included a screen shot so that you can see what it looks like finished.

Let’s start as always with the Dim Statements
CODE
Dim arrAnimal(5) As String
Dim AnimalIndex As Integer
Dim i As Integer
Notice that this time the number inside the Parenthesis is 5, the reason for this is that VB numbers the Elements 0 to 5, so, because we have 6 Elements the array = 5, strange but true. I know that we got away with it last time when we placed 6 inside the parenthesis but this time if we try to use 6 we get errors, try it and see what happens.
Lets move on to the Loading of the form, this time we fill the Array with the text of the 6 RadioButtons as follows.
CODE
Private Sub AnimalArray_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
arrAnimal(0) = RadioButton1.Text
arrAnimal(1) = RadioButton2.Text
arrAnimal(2) = RadioButton3.Text
arrAnimal(3) = RadioButton4.Text
arrAnimal(4) = RadioButton5.Text
arrAnimal(5) = RadioButton6.Text
RadioButton1.Checked = True
End Sub
Next we need the RadioButton Events update the LblDisplay and change the ComboBox Text, this is done for all6 RadioButtons.
CODE
Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
LblDisplay.Text = "The " & RadioButton1.Text & Chr(13) & "is Element [" & (Array.IndexOf(arrAnimal, RadioButton1.Text)) & "]" & Chr(13) & "in the Array"
cmbArrNum.Text = "0"
End Sub
Now let’s add some code so that when we click the Load Button the Elements of the Array will show in a Text Box.
CODE
Private Sub btnShowAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnShowAll.Click
ListBox1.Items.Clear()
For i = 0 To 5
ListBox1.Items.Add(arrAnimal(i) & " is element [" & i & "] in the array")
Next
End Sub
The next button to sort out is the Sort Button this will place all the Elements of the Array in to Alphabetical order, it also updates the text for the 6 RadioButtons and the Label text.
CODE
Private Sub btnSort_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSort.Click
ListBox1.Items.Clear()
Array.Sort(arrAnimal)
For i = 0 To 5
ListBox1.Items.Add(arrAnimal(i) & " is element [" & i & "] in the array")
Next
RadioButton1.Text = arrAnimal(0)
RadioButton2.Text = arrAnimal(1)
RadioButton3.Text = arrAnimal(2)
RadioButton4.Text = arrAnimal(3)
RadioButton5.Text = arrAnimal(4)
RadioButton6.Text = arrAnimal(5)
Select Case cmbArrNum.SelectedIndex
Case 0
RadioButton1.Checked = True
lblDisplay.Text = "The " & RadioButton1.Text & Chr(13) & " is Element [" & (Array.IndexOf(arrAnimal, RadioButton1.Text)) & "]" & Chr(13) & "in the Array"
Case 1
RadioButton2.Checked = True
lblDisplay.Text = "The " & RadioButton2.Text & Chr(13) & " is Element [" & (Array.IndexOf(arrAnimal, RadioButton2.Text)) & "]" & Chr(13) & "in the Array"
Case 2
RadioButton3.Checked = True
lblDisplay.Text = "The " & RadioButton3.Text & Chr(13) & " is Element [" & (Array.IndexOf(arrAnimal, RadioButton3.Text)) & "]" & Chr(13) & "in the Array"
Case 3
RadioButton4.Checked = True
lblDisplay.Text = "The " & RadioButton4.Text & Chr(13) & " is Element [" & (Array.IndexOf(arrAnimal, RadioButton4.Text)) & "]" & Chr(13) & "in the Array"
Case 4
RadioButton5.Checked = True
lblDisplay.Text = "The " & RadioButton5.Text & Chr(13) & " is Element [" & (Array.IndexOf(arrAnimal, RadioButton5.Text)) & "]" & Chr(13) & "in the Array"
Case 5
RadioButton6.Checked = True
lblDisplay.Text = "The " & RadioButton6.Text & Chr(13) & " is Element [" & (Array.IndexOf(arrAnimal, RadioButton6.Text)) & "]" & Chr(13) & "in the Array"
End Select
txtReplace.Text = ""
End Sub
That was a lot of code! Still it is Part 3 the final.
Let’s move on and write some code to Replace Elements in the Array.
Once again because we have changed the Array we need to update all the Controls on the Form to keep everthing updated.
CODE
Private Sub btnReplace_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReplace.Click
If txtReplace.Text = "" Then
MessageBox.Show("No text has been entered")
Exit Sub
End If
arrAnimal.SetValue(txtReplace.Text, cmbArrNum.SelectedIndex)
Select Case cmbArrNum.SelectedIndex
Case 0
RadioButton1.Text = txtReplace.Text
RadioButton1.ForeColor = Color.Blue
Case 1
RadioButton2.Text = txtReplace.Text
RadioButton2.ForeColor = Color.Blue
Case 2
RadioButton3.Text = txtReplace.Text
RadioButton3.ForeColor = Color.Blue
Case 3
RadioButton4.Text = txtReplace.Text
RadioButton4.ForeColor = Color.Blue
Case 4
RadioButton5.Text = txtReplace.Text
RadioButton5.ForeColor = Color.Blue
Case 5
RadioButton6.Text = txtReplace.Text
RadioButton6.ForeColor = Color.Blue
End Select
ListBox1.Items.Clear()
For i = 0 To 5
ListBox1.Items.Add(arrAnimal(i) & " is element [" & i & "] in the array")
Next
arrAnimal(0) = RadioButton1.Text
arrAnimal(1) = RadioButton2.Text
arrAnimal(2) = RadioButton3.Text
arrAnimal(3) = RadioButton4.Text
arrAnimal(4) = RadioButton5.Text
arrAnimal(5) = RadioButton6.Text
lblDisplay.Text = "The " & txtReplace.Text & Chr(13) & " is Element [" & (Array.IndexOf(arrAnimal, txtReplace.Text)) & "]" & Chr(13) & "in the Array"
txtReplace.Text = ""
End Sub
Well, that’s it, in all it’s glory, I hope you have enjoyed these 3 tutorials on Fixed Arrays.
I hope in the future to write other tutorials that will help beginners to better understand Visual Basic.net. Below is the full code for you to Copy (Ctrl + C) and Paste (Ctrl + V)
CODE
Public Class AnimalArray
Dim arrAnimal(5) As String
Dim AnimalIndex As Integer
Dim i As Integer
Private Sub AnimalArray_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
arrAnimal(0) = RadioButton1.Text
arrAnimal(1) = RadioButton2.Text
arrAnimal(2) = RadioButton3.Text
arrAnimal(3) = RadioButton4.Text
arrAnimal(4) = RadioButton5.Text
arrAnimal(5) = RadioButton6.Text
RadioButton1.Checked = True
End Sub
Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
LblDisplay.Text = "The " & RadioButton1.Text & Chr(13) & "is Element [" & (Array.IndexOf(arrAnimal, RadioButton1.Text)) & "]" & Chr(13) & "in the Array"
cmbArrNum.Text = "0"
End Sub
Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged
LblDisplay.Text = "The " & RadioButton2.Text & Chr(13) & "is Element [" & (Array.IndexOf(arrAnimal, RadioButton2.Text)) & "]" & Chr(13) & "in the Array"
cmbArrNum.Text = "1"
End Sub
Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged
LblDisplay.Text = "The " & RadioButton3.Text & Chr(13) & "is Element [" & (Array.IndexOf(arrAnimal, RadioButton3.Text)) & "]" & Chr(13) & "in the Array"
cmbArrNum.Text = "2"
End Sub
Private Sub RadioButton4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton4.CheckedChanged
LblDisplay.Text = "The " & RadioButton4.Text & Chr(13) & "is Element [" & (Array.IndexOf(arrAnimal, RadioButton4.Text)) & "]" & Chr(13) & "in the Array"
cmbArrNum.Text = "3"
End Sub
Private Sub RadioButton5_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton5.CheckedChanged
LblDisplay.Text = "The " & RadioButton5.Text & Chr(13) & " is Element [" & (Array.IndexOf(arrAnimal, RadioButton5.Text)) & "]" & Chr(13) & "in the Array"
cmbArrNum.Text = "4"
End Sub
Private Sub RadioButton6_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton6.CheckedChanged
LblDisplay.Text = "The " & RadioButton6.Text & Chr(13) & " is Element [" & (Array.IndexOf(arrAnimal, RadioButton6.Text)) & "]" & Chr(13) & "in the Array"
cmbArrNum.Text = "5"
End Sub
Private Sub btnShowAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnShowAll.Click
ListBox1.Items.Clear()
For i = 0 To 5
ListBox1.Items.Add(arrAnimal(i) & " is element [" & i & "] in the array")
Next
End Sub
Private Sub btnSort_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSort.Click
ListBox1.Items.Clear()
Array.Sort(arrAnimal)
For i = 0 To 5
ListBox1.Items.Add(arrAnimal(i) & " is element [" & i & "] in the array")
Next
RadioButton1.Text = arrAnimal(0)
RadioButton2.Text = arrAnimal(1)
RadioButton3.Text = arrAnimal(2)
RadioButton4.Text = arrAnimal(3)
RadioButton5.Text = arrAnimal(4)
RadioButton6.Text = arrAnimal(5)
Select Case cmbArrNum.SelectedIndex
Case 0
RadioButton1.Checked = True
lblDisplay.Text = "The " & RadioButton1.Text & Chr(13) & " is Element [" & (Array.IndexOf(arrAnimal, RadioButton1.Text)) & "]" & Chr(13) & "in the Array"
Case 1
RadioButton2.Checked = True
lblDisplay.Text = "The " & RadioButton2.Text & Chr(13) & " is Element [" & (Array.IndexOf(arrAnimal, RadioButton2.Text)) & "]" & Chr(13) & "in the Array"
Case 2
RadioButton3.Checked = True
lblDisplay.Text = "The " & RadioButton3.Text & Chr(13) & " is Element [" & (Array.IndexOf(arrAnimal, RadioButton3.Text)) & "]" & Chr(13) & "in the Array"
Case 3
RadioButton4.Checked = True
lblDisplay.Text = "The " & RadioButton4.Text & Chr(13) & " is Element [" & (Array.IndexOf(arrAnimal, RadioButton4.Text)) & "]" & Chr(13) & "in the Array"
Case 4
RadioButton5.Checked = True
lblDisplay.Text = "The " & RadioButton5.Text & Chr(13) & " is Element [" & (Array.IndexOf(arrAnimal, RadioButton5.Text)) & "]" & Chr(13) & "in the Array"
Case 5
RadioButton6.Checked = True
lblDisplay.Text = "The " & RadioButton6.Text & Chr(13) & " is Element [" & (Array.IndexOf(arrAnimal, RadioButton6.Text)) & "]" & Chr(13) & "in the Array"
End Select
txtReplace.Text = ""
End Sub
Private Sub btnReplace_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReplace.Click
If txtReplace.Text = "" Then
MessageBox.Show("No text has been entered")
Exit Sub
End If
arrAnimal.SetValue(txtReplace.Text, cmbArrNum.SelectedIndex)
Select Case cmbArrNum.SelectedIndex
Case 0
RadioButton1.Text = txtReplace.Text
RadioButton1.ForeColor = Color.Blue
Case 1
RadioButton2.Text = txtReplace.Text
RadioButton2.ForeColor = Color.Blue
Case 2
RadioButton3.Text = txtReplace.Text
RadioButton3.ForeColor = Color.Blue
Case 3
RadioButton4.Text = txtReplace.Text
RadioButton4.ForeColor = Color.Blue
Case 4
RadioButton5.Text = txtReplace.Text
RadioButton5.ForeColor = Color.Blue
Case 5
RadioButton6.Text = txtReplace.Text
RadioButton6.ForeColor = Color.Blue
End Select
ListBox1.Items.Clear()
For i = 0 To 5
ListBox1.Items.Add(arrAnimal(i) & " is element [" & i & "] in the array")
Next
arrAnimal(0) = RadioButton1.Text
arrAnimal(1) = RadioButton2.Text
arrAnimal(2) = RadioButton3.Text
arrAnimal(3) = RadioButton4.Text
arrAnimal(4) = RadioButton5.Text
arrAnimal(5) = RadioButton6.Text
lblDisplay.Text = "The " & txtReplace.Text & Chr(13) & " is Element [" & (Array.IndexOf(arrAnimal, txtReplace.Text)) & "]" & Chr(13) & "in the Array"
txtReplace.Text = ""
End Sub
End Class
This post has been edited by Graham: 30 Jun, 2006 - 12:01 AM