So I have my basic slider box game that tracks moves with every button click.
Code:
Public Class Form1
    Dim iSpace As Integer
    Dim iMoves As Integer = 0
    Sub CheckWin()
        If Button1.Text <> "1" Then
        ElseIf Button2.Text <> "2" Then
        ElseIf Button3.Text <> "3" Then
        ElseIf Button4.Text <> "4" Then
        ElseIf Button5.Text <> "5" Then
        ElseIf Button6.Text <> "6" Then
        ElseIf Button7.Text <> "7" Then
        ElseIf Button8.Text <> "8" Then
        ElseIf Button9.Text <> "9" Then
        ElseIf Button10.Text <> "10" Then
        ElseIf Button11.Text <> "11" Then
        ElseIf Button12.Text <> "12" Then
        ElseIf Button13.Text <> "13" Then
        ElseIf Button14.Text <> "14" Then
        ElseIf Button15.Text <> "15" Then
        Else : Me.Text = "Winner winner chicken dinner!"
        End If
    End Sub
    Sub Exchange(ByVal AButton As Button, ByVal BButton As Button, ByVal iPiece As Integer)
        AButton.Text = BButton.Text
        AButton.Visible = True
        BButton.Visible = False
        iSpace = iPiece
        CheckWin()
    End Sub
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        iSpace = 2
        Button2.Visible = False
    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Select Case iSpace
            Case 2
                Exchange(Button2, Button1, 1)
            Case 5
                Exchange(Button5, Button1, 1)
            Case Else
                Me.Text = "Nah fam!"
        End Select
        iMoves = iMoves + 1
        LblMoves.Text = iMoves
    End Sub

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        Select Case iSpace
            Case 1
                Exchange(Button1, Button2, 2)
            Case 3
                Exchange(Button3, Button2, 2)
            Case 6
                Exchange(Button6, Button2, 2)
            Case Else
                Me.Text = "Nah fam!"
        End Select
        iMoves = iMoves + 1
        LblMoves.Text = iMoves
    End Sub

    Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
        Select Case iSpace
            Case 2
                Exchange(Button2, Button3, 3)
            Case 4
                Exchange(Button4, Button3, 3)
            Case 7
                Exchange(Button7, Button3, 3)
            Case Else
                Me.Text = "Nah fam!"
        End Select
        iMoves = iMoves + 1
        LblMoves.Text = iMoves
    End Sub

    Private Sub Button4_Click(sender As System.Object, e As System.EventArgs) Handles Button4.Click
        Select Case iSpace
            Case 3
                Exchange(Button3, Button4, 4)
            Case 8
                Exchange(Button8, Button4, 4)
            Case Else
                Me.Text = "Nah fam!"
        End Select
        iMoves = iMoves + 1
        LblMoves.Text = iMoves
    End Sub

    Private Sub Button5_Click(sender As System.Object, e As System.EventArgs) Handles Button5.Click
        Select Case iSpace
            Case 1
                Exchange(Button1, Button5, 5)
            Case 6
                Exchange(Button6, Button5, 5)
            Case 9
                Exchange(Button9, Button5, 5)
            Case Else
                Me.Text = "Nah fam!"
        End Select
        iMoves = iMoves + 1
        LblMoves.Text = iMoves
    End Sub

    Private Sub Button6_Click(sender As System.Object, e As System.EventArgs) Handles Button6.Click
        Select Case iSpace
            Case 2
                Exchange(Button2, Button6, 6)
            Case 5
                Exchange(Button5, Button6, 6)
            Case 7
                Exchange(Button7, Button6, 6)
            Case 10
                Exchange(Button10, Button6, 6)
            Case Else
                Me.Text = "Nah fam!"
        End Select
        iMoves = iMoves + 1
        LblMoves.Text = iMoves
    End Sub

    Private Sub Button7_Click(sender As System.Object, e As System.EventArgs) Handles Button7.Click
        Select Case iSpace
            Case 3
                Exchange(Button3, Button7, 7)
            Case 6
                Exchange(Button6, Button7, 7)
            Case 8
                Exchange(Button8, Button7, 7)
            Case 11
                Exchange(Button11, Button7, 7)
            Case Else
                Me.Text = "Nah fam!"
        End Select
        iMoves = iMoves + 1
        LblMoves.Text = iMoves
    End Sub

    Private Sub Button8_Click(sender As System.Object, e As System.EventArgs) Handles Button8.Click
        Select Case iSpace
            Case 4
                Exchange(Button4, Button8, 8)
            Case 7
                Exchange(Button7, Button8, 8)
            Case 12
                Exchange(Button12, Button8, 8)
            Case Else
                Me.Text = "Nah fam!"
        End Select
        iMoves = iMoves + 1
        LblMoves.Text = iMoves
    End Sub

    Private Sub Button9_Click(sender As System.Object, e As System.EventArgs) Handles Button9.Click
        Select Case iSpace
            Case 5
                Exchange(Button5, Button9, 9)
            Case 10
                Exchange(Button10, Button9, 9)
            Case 13
                Exchange(Button13, Button9, 9)
            Case Else
                Me.Text = "Nah fam!"
        End Select
        iMoves = iMoves + 1
        LblMoves.Text = iMoves
    End Sub

    Private Sub Button10_Click(sender As System.Object, e As System.EventArgs) Handles Button10.Click
        Select Case iSpace
            Case 6
                Exchange(Button6, Button10, 10)
            Case 9
                Exchange(Button9, Button10, 10)
            Case 11
                Exchange(Button11, Button10, 10)
            Case 14
                Exchange(Button14, Button10, 10)
            Case Else
                Me.Text = "Nah fam!"
        End Select
        iMoves = iMoves + 1
        LblMoves.Text = iMoves
    End Sub

    Private Sub Button11_Click(sender As System.Object, e As System.EventArgs) Handles Button11.Click
        Select Case iSpace
            Case 7
                Exchange(Button7, Button11, 11)
            Case 10
                Exchange(Button10, Button11, 11)
            Case 12
                Exchange(Button12, Button11, 11)
            Case 15
                Exchange(Button15, Button11, 11)
            Case Else
                Me.Text = "Nah fam!"
        End Select
        iMoves = iMoves + 1
        LblMoves.Text = iMoves
    End Sub

    Private Sub Button12_Click(sender As System.Object, e As System.EventArgs) Handles Button12.Click
        Select Case iSpace
            Case 8
                Exchange(Button8, Button12, 12)
            Case 11
                Exchange(Button11, Button12, 12)
            Case 16
                Exchange(Button16, Button12, 12)
            Case Else
                Me.Text = "Nah fam!"
        End Select
        iMoves = iMoves + 1
        LblMoves.Text = iMoves
    End Sub

    Private Sub Button13_Click(sender As System.Object, e As System.EventArgs) Handles Button13.Click
        Select Case iSpace
            Case 9
                Exchange(Button9, Button13, 13)
            Case 14
                Exchange(Button14, Button13, 13)
            Case Else
                Me.Text = "Nah fam!"
        End Select
        iMoves = iMoves + 1
        LblMoves.Text = iMoves
    End Sub

    Private Sub Button14_Click(sender As System.Object, e As System.EventArgs) Handles Button14.Click
        Select Case iSpace
            Case 10
                Exchange(Button10, Button14, 14)
            Case 13
                Exchange(Button13, Button14, 14)
            Case 15
                Exchange(Button15, Button14, 14)
            Case Else
                Me.Text = "Nah fam!"
        End Select
        iMoves = iMoves + 1
        LblMoves.Text = iMoves
    End Sub

    Private Sub Button15_Click(sender As System.Object, e As System.EventArgs) Handles Button15.Click
        Select Case iSpace
            Case 11
                Exchange(Button11, Button15, 15)
            Case 14
                Exchange(Button14, Button15, 15)
            Case 16
                Exchange(Button16, Button15, 15)
            Case Else
                Me.Text = "Nah fam!"
        End Select
        iMoves = iMoves + 1
        LblMoves.Text = iMoves
    End Sub

    Private Sub Button16_Click(sender As System.Object, e As System.EventArgs) Handles Button16.Click
        Select Case iSpace
            Case 12
                Exchange(Button12, Button16, 16)
            Case 15
                Exchange(Button15, Button16, 16)
            Case Else
                Me.Text = "Nah fam!"
        End Select
        iMoves = iMoves + 1
        LblMoves.Text = iMoves
    End Sub
    
End Class
Now, what I need to do is add a highscore feature that keeps track of the lowest number of moves used to win, I want the integer written to a Label (lblHigh). I know the easiest way is to use a StreamWriter and StreamReader but I'm having trouble on where to start. If anyone could figure out how to keep track of the lowest moves used to win as an integer in LblHigh(label), that'd be great. Thanks.