Vb.net 多次打开第二个表单时出错
我在form1中有一个打开form2的按钮。我使用Vb.net 多次打开第二个表单时出错,vb.net,forms,Vb.net,Forms,我在form1中有一个打开form2的按钮。我使用frm2.show()来实现这一点。我第一次打开frm2时,它完全正常工作,但当我关闭frm2并单击frm1中的按钮再次打开frm2时,我得到以下错误: 有人能告诉我怎么解决吗? 编辑:我有一个模块,其中有数据库连接和表单声明: Public frmGame As New Game Public frmPlay As New Play Public frmFinish As New GameFinish Public frmLogin As N
frm2.show()
来实现这一点。我第一次打开frm2时,它完全正常工作,但当我关闭frm2并单击frm1中的按钮再次打开frm2时,我得到以下错误:
有人能告诉我怎么解决吗?编辑:我有一个模块,其中有数据库连接和表单声明:
Public frmGame As New Game
Public frmPlay As New Play
Public frmFinish As New GameFinish
Public frmLogin As New Login
Public frmManage As New Manage
Public frmInsert As New Toevoegen
当我点击form1中的一个按钮时,我打开表单。听起来好像你正在接近frm2。关闭一个表单应该处理它并释放它的资源,所以不能简单地再次显示它。相反,您需要创建对象的新实例,如下所示:
frm2=new Form2()
frm2.Show()
如果这不起作用(可能是因为您不想重新初始化表单的数据成员),可以使用Hide()而不是Close()在程序执行期间临时隐藏表单
如果需要防止使用X按钮关闭表单,可以使用几种不同的方法:
总之,方法1可能是最安全的。当应用程序关闭时,您可以使用.close()关闭窗口,但用户不能使用X按钮将其关闭。听起来好像您正在关闭frm2()。关闭一个表单应该处理它并释放它的资源,所以不能简单地再次显示它。相反,您需要创建对象的新实例,如下所示:
frm2=new Form2()
frm2.Show()
如果这不起作用(可能是因为您不想重新初始化表单的数据成员),可以使用Hide()而不是Close()在程序执行期间临时隐藏表单
如果需要防止使用X按钮关闭表单,可以使用几种不同的方法:
总之,方法1可能是最安全的。当应用程序关闭时,可以使用.close()关闭窗口,但是用户不能用X按钮关闭它。可能需要发布一些代码,显示每个表单是如何初始化的,以及在哪里显示和关闭表单2。这些声明实际上不需要是新的。此时可能需要发布一些代码,显示每个表单是如何初始化的,以及在哪里显示和关闭表单2。这些声明不需要在这一点上真的需要
New
先生,但是当第二个窗体关闭(FormClosed事件)时,我不能说像frm2.hide(),我的意思是如何隐藏用户已关闭的窗体?。捕获FormClosed事件并隐藏它,而不是隐藏先生,但是当第二个窗体关闭(FormClosed事件)时,我不能说像frm2.hide(),我的意思是如何隐藏已被用户关闭的表单?。捕获formclosing事件并将其隐藏