VB.Net如何关闭随机选择的表单

时间:2013-10-29 16:07:34

标签: vb.net random

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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

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