我正在做一些测验。我已经提出了随机函数的问题。因此,当弹出一个问题(表单)时,当我单击正确的答案时,会弹出一个新表单,其中有一个标签和按钮可以继续。当我点击继续按钮下一个问题(表格)弹出时,我已经做到了,但我希望前面的表格也关闭,但我不知道如何命名或做什么。
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
答案 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
同样,其他答案可能会向您展示更好的方式。但这种方式应该可以正常工作。