我想知道重置表单是否可行?我正在进行一场战斗游戏,但我需要在战斗结束后重置表格,这样我才能玩无限次战斗
也许有点像这样:
If TextBox1.Text = "You Won!" Then
Me.reset
End If
当然这不起作用,这就是为什么我要求帮助重置表单。 谢谢!
答案 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
表单,并将currentForm
(Dim currentForm As Form
)设置为等于新的f2
表单,以便我们在
点击处理原始client1Form
开启的按钮,它会打开这个新f2
,而不是我们得到的旧版本
使用Me.dispose()
或Me.Close()
删除。
starterForm.currentForm = f2
,当我们重新打开表单时,它只会为您提供之前的原始文件,包括剩余的任何数据,如果您使用{{1或者只是原始表单的空版本(如果您使用Me.Close()
)。但我们想要新的形式和我们输入的任何数据。
Me.Dispose()
。