例え確立やタイミング的に大丈夫でもTimer内でLoopは嫌だな。俺は。 それはさておき、 > まぁ、選びなおしは停止するタイミングでやった方がいいかもね を考えてと、質問者のやり方に近い作りにすると、たったこんだけ。効率とか他の仕様とかコーディングポリシーとかは無視して。 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick hoge() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Timer1.Enabled = True End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Timer1.Enabled = False Do Until Me.Label1.Text <> Me.Label2.Text hoge() Loop End Sub Private Sub hoge() Me.Label1.Text = CInt((52 * Rnd()) - 1) Me.Label2.Text = CInt((52 * Rnd()) - 1) End Sub