PlayNum
переинициализируется каждый раз, когда BtnPlay_Click
вводится. Поэтому либо расширить сферу переменной и сделать это поле класса ...
Public Class Form1
Private PlayNum As Integer
Private Sub BtnPlay_Click(ByVal sender As Object, ByVal e As EventArgs) _
Handles BtnPlay.Click
PlayNum += 1
If PlayNum > 2 Then
...
End If
End Sub
End Class
... или сделать его static. Статическая переменная сохраняет свое значение между вызовами к этому методу
Private Sub BtnPlay_Click(ByVal sender As Object, ByVal e As EventArgs) _
Handles BtnPlay.Click
Static PlayNum As Integer = 0
PlayNum += 1
If PlayNum > 2 Then
...
End If
End Sub
Примечание, статическая переменная инициализируется только один раз в течение срока службы объекта (типа Form1).
[Статический (Visual Basic)] (https://msdn.microsoft.com/en-us/library/z2cty7t8.aspx). – GSerg
Вы можете попробовать объявить переменную PlayNum за пределами BtnPlay_Click –