0

我正在做一些测验。我已经为问题制作了随机数。因此,当弹出一个问题(表单)并且当我单击正确答案时,会弹出新表单,您可以在其中继续使用一个标签和按钮。我已经做到了,当我单击继续按钮时会弹出下一个问题(表单),但我希望前一个表单也关闭,但我不知道如何命名或做什么。

Dim rn As New Random 
TextBox1.Text = rn.Next(1, 4) 

If TextBox1.Text = 1 Then
   Form4.Show() 
   Form4.Timer1.Start() 
End If 
If TextBox1.Text = 2 Then 
   Form7.Show() 
   Form7.Timer1.Start() 
End If 

If TextBox1.Text = 3 Then 
     Form8.Show() 
     Form8.Timer1.Start() 
End If 
If TextBox1.Text = 4 Then 
    Form12.Show() 
    Form12.Timer1.Start() 
End If
4

2 回答 2

0

在打开新表单之前关闭所有表单的例程怎么样。

这不是最好的方法 - 因为即使它们没有打开,你也会告诉它们关闭。但它会做你所要求的。

这是一个例子:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim rn As New Random
    Dim randomForm As UInteger = rn.Next(1, 3) 'Random Form Number
    TextBox1.Text = randomForm 'Store the Random Number here

    closeQuestionForms() 'Routine called before opening others

    Select Case randomForm
        Case 1
            Form2.Show()
            'Do something else here
        Case 2
            Form3.Show()
    End Select

End Sub


Private Sub closeQuestionForms() 'Closes the forms
    Form2.Close()
    Form3.Close()
    MessageBox.Show("Closed Question Forms")
End Sub

同样,其他答案可能会向您展示可能有更好的方法。但是这种方式应该可以正常工作。

于 2013-10-29T19:39:46.490 回答
0

将对问题的引用交给结果表。然后您可以在打开下一个问题之前对上一个问题调用 Close() 方法。

于 2013-10-29T16:09:16.210 回答