VB.net如何重置表单?

时间:2013-11-05 00:06:29

标签: vb.net

我想知道重置表单是否可行?我正在进行一场战斗游戏,但我需要在战斗结束后重置表格,这样我才能玩无限次战斗

也许有点像这样:

    If TextBox1.Text = "You Won!" Then
        Me.reset
    End If

当然这不起作用,这就是为什么我要求帮助重置表单。 谢谢!

4 个答案:

答案 0 :(得分:4)

非常简单的解决方案是只创建表单的新实例并关闭“已使用”的实例。 Project + Properties,Shutdown模式设置提供了很大帮助。将其更改为“当最后一个表格关闭时”。这使得此代码有效:

If Me.TextBox1.Text = "You Won!" Then
    Dim frm = New Form1               '' Change the class name if necessary
    frm.Show()
    Me.Close()
End If

答案 1 :(得分:2)

最简单的方法

从您要重置/重启的表单中调用

---表格名称---

application.restart

me.refresh

这将是神奇的。 :)

答案 2 :(得分:1)

  

当然这不起作用,这就是为什么我要求帮助重置表单。谢谢!

没有内置方法可以做到这一点。您需要在表单上编写Reset方法,然后将所有属性和值设置回原始状态。

答案 3 :(得分:0)

如果您想重置以后可以从其他表单重新打开的表单,则需要稍微调整一下:

Private Sub btnReset_Click(sender As Object, e As EventArgs) Handles btnReset.Click
        Dim f2 As New client1Form
        Me.Dispose()  '~~> Or Me.Close()
        f2.Show()
        starterForm.currentForm = f2
    End Sub
  • 我们制作新表单f2然后处理当前表单。

  • 然后,我们会显示新的f2表单,并将currentFormDim currentForm As Form)设置为等于新的f2表单,以便我们在 点击处理原始client1Form开启的按钮,它会打开这个新f2而不是我们得到的旧版本 使用Me.dispose()Me.Close()删除

  • 如果没有starterForm.currentForm = f2,当我们重新打开表单时,它只会为您提供之前的原始文件,包括剩余的任何数据,如果您使用{{1或者只是原始表单的空版本(如果您使用Me.Close())。但我们想要新的形式和我们输入的任何数据。

  • 在父表单上,我们在打开表单按钮的click事件上使用Me.Dispose()