首页 > 解决方案 > 你如何关闭form1,打开form2并在返回form1并关闭form2后不久?我在参考时遇到问题

问题描述

--

Private Sub ACTIVECLOSEToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ACTIVECLOSEToolStripMenuItem.Click
    Dim Nform As New Aba_Principal_SecondShift
    Nform.Show()
    Hide()
End Sub

Private Sub CREATEWORKNUMBERToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CREATEWORKNUMBERToolStripMenuItem.Click
    Dim Nform2 As New Aba_Principal_ThirdShift
    Nform2.Show()
    Hide()
End Sub

我的问题是因为如果我把相反的过程我得到以下错误:“无法添加引用。将此项目添加为引用会导致循环依赖。”

标签: vb.netformswinforms

解决方案


也许这会有所帮助:我刚刚修改了你的代码,我已经将一个 fc 声明为一个表单,并在你的应用程序中将一个值作为一个打开的表单分配给它,之后我创建了一个if statementthen if if fcis an openform 然后关闭它并显示您要显示的表格。PS:不要忘记添加Try Catch Exception代码以防止应用程序崩溃。

Private Sub ACTIVECLOSEToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ACTIVECLOSEToolStripMenuItem.Click
       Dim fc As Form = Application.OpenForms("Form2")
        If fc IsNot Nothing Then fc.Close()
        form1.Show()
End Sub

Private Sub CREATEWORKNUMBERToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CREATEWORKNUMBERToolStripMenuItem.Click
       Dim fc As Form = Application.OpenForms("Form1")
        If fc IsNot Nothing Then fc.Close()
        form2.Show()
End Sub

推荐阅读