Public Class Form1 Dim list As New List(Of Integer) Const ListMax As Integer = 52 Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click Debug.Print("Start") '毎回リスト作成 For i As Integer = 1 To ListMax list.Add(i) Next Me.Timer1.Start() End Sub Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick Dim MyRandom As New Random Dim ListIndex As Integer ListIndex = MyRandom.Next(list.Count - 1) '何番目? Me.Label1.Text = list.Item(ListIndex).ToString 'ListIndex番目の数字を表示。 Debug.Print(Me.Label1.Text) 'ラベルの表示は残らないので、イミディエイトウィンドウに出力 list.RemoveAt(ListIndex) '表示した数字はリストから削除。Remove でなく、RemoveAt を使っているので注意 If list.Count <= 0 Then 'リストに何も無くなったら終了 Timer1.Stop() Debug.Print("Stop") End If End Sub End Class