Vb.net 我需要从另一个表单关闭一个表单,因为它没有打开第一个表单。(visual basic)

Vb.net 我需要从另一个表单关闭一个表单,因为它没有打开第一个表单。(visual basic),vb.net,forms,winforms,Vb.net,Forms,Winforms,我需要从没有打开所述表单的单独表单关闭表单。如果你明白我的意思 所以表格1打开表格2,表格3打开表格4,表格4上需要一个按钮来关闭表格2。我该怎么做?我在拔头发 form2.close()不起作用,form2.dispose()也不起作用。form2.hide()或form2.visible=false 我对编码相当陌生,所以如果我是一个巨大的noob,我很抱歉,但是我在网络上找不到一个简单的解决方案。我认为问题在于,我试图关闭中二的表格并没有打开它自己 代码如下: 表格2: Public Cl

我需要从没有打开所述表单的单独表单关闭表单。如果你明白我的意思

所以表格1打开表格2,表格3打开表格4,表格4上需要一个按钮来关闭表格2。我该怎么做?我在拔头发

form2.close()不起作用,form2.dispose()也不起作用。form2.hide()或form2.visible=false

我对编码相当陌生,所以如果我是一个巨大的noob,我很抱歉,但是我在网络上找不到一个简单的解决方案。我认为问题在于,我试图关闭中二的表格并没有打开它自己

代码如下:

表格2:

Public Class form2

Dim animation As Integer = 150

Private Sub form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    colourfilter2.Visible = True
    Timer1.Enabled = True
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

    If animation = 70 Then
        Me.PictureBox1.Image = My.Resources.demon1_anim
        animation -= 1
    ElseIf animation = 69 Then
        Me.PictureBox1.Image = My.Resources.demon1
        animation -= 1
    ...
    End If
End Sub

Public Sub form2_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing

End Sub

End Class
表格4:

Public Class form4

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Form2.visible = False
        My.Computer.Audio.Play(My.Resources.linking, AudioPlayMode.Background)
    End Sub

    Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

End Class

您可以从
应用程序获取表单。OpenForms
集合:

Application.OpenForms("frmOtherForm").Close()
更安全的方法是

Dim otherForm = Application.OpenForms.OfType(Of frmOtherForm)().FirstOrDefault()
If otherForm IsNot Nothing Then
    otherForm.Close()
End If
它更安全,因为它使用类型而不是作为字符串常量提供的表单名称(编译器可以检查类型名称,但不能检查字符串常量)。 它也更安全,因为它正在检查另一个表单是否真正打开



Form2.visible=False
不起作用,因为
Form2
是一种类型,而不是表单对象。您需要对表单对象的引用

您还可以在模块中声明一个公共表单变量,该变量可以从Form4访问

Public frm2 As Form2
然后您可以像这样在Form1中创建和打开Form2

frm2 = New Form2()
frm2.Show()
frm2.Close()
然后像这样从Form4关闭它

frm2 = New Form2()
frm2.Show()
frm2.Close()

您可以从
应用程序获取表单。OpenForms
集合:

Application.OpenForms("frmOtherForm").Close()
更安全的方法是

Dim otherForm = Application.OpenForms.OfType(Of frmOtherForm)().FirstOrDefault()
If otherForm IsNot Nothing Then
    otherForm.Close()
End If
它更安全,因为它使用类型而不是作为字符串常量提供的表单名称(编译器可以检查类型名称,但不能检查字符串常量)。 它也更安全,因为它正在检查另一个表单是否真正打开



Form2.visible=False
不起作用,因为
Form2
是一种类型,而不是表单对象。您需要对表单对象的引用

您还可以在模块中声明一个公共表单变量,该变量可以从Form4访问

Public frm2 As Form2
然后您可以像这样在Form1中创建和打开Form2

frm2 = New Form2()
frm2.Show()
frm2.Close()
然后像这样从Form4关闭它

frm2 = New Form2()
frm2.Show()
frm2.Close()

您可以从
应用程序获取表单。OpenForms
集合:

Application.OpenForms("frmOtherForm").Close()
更安全的方法是

Dim otherForm = Application.OpenForms.OfType(Of frmOtherForm)().FirstOrDefault()
If otherForm IsNot Nothing Then
    otherForm.Close()
End If
它更安全,因为它使用类型而不是作为字符串常量提供的表单名称(编译器可以检查类型名称,但不能检查字符串常量)。 它也更安全,因为它正在检查另一个表单是否真正打开



Form2.visible=False
不起作用,因为
Form2
是一种类型,而不是表单对象。您需要对表单对象的引用

您还可以在模块中声明一个公共表单变量,该变量可以从Form4访问

Public frm2 As Form2
然后您可以像这样在Form1中创建和打开Form2

frm2 = New Form2()
frm2.Show()
frm2.Close()
然后像这样从Form4关闭它

frm2 = New Form2()
frm2.Show()
frm2.Close()

您可以从
应用程序获取表单。OpenForms
集合:

Application.OpenForms("frmOtherForm").Close()
更安全的方法是

Dim otherForm = Application.OpenForms.OfType(Of frmOtherForm)().FirstOrDefault()
If otherForm IsNot Nothing Then
    otherForm.Close()
End If
它更安全,因为它使用类型而不是作为字符串常量提供的表单名称(编译器可以检查类型名称,但不能检查字符串常量)。 它也更安全,因为它正在检查另一个表单是否真正打开



Form2.visible=False
不起作用,因为
Form2
是一种类型,而不是表单对象。您需要对表单对象的引用

您还可以在模块中声明一个公共表单变量,该变量可以从Form4访问

Public frm2 As Form2
然后您可以像这样在Form1中创建和打开Form2

frm2 = New Form2()
frm2.Show()
frm2.Close()
然后像这样从Form4关闭它

frm2 = New Form2()
frm2.Show()
frm2.Close()

我一定错过了什么。似乎只要将其粘贴到button1_click下的代码中,就会出现一个错误列表。我必须警告你,我几乎没有经验我应该把那段代码放在哪里?对不起,我用的是C#。我一定是遗漏了什么。似乎只要将其粘贴到button1_click下的代码中,就会出现一个错误列表。我必须警告你,我几乎没有经验我应该把那段代码放在哪里?对不起,我用的是C#。我一定是遗漏了什么。似乎只要将其粘贴到button1_click下的代码中,就会出现一个错误列表。我必须警告你,我几乎没有经验我应该把那段代码放在哪里?对不起,我用的是C#。我一定是遗漏了什么。似乎只要将其粘贴到button1_click下的代码中,就会出现一个错误列表。我必须警告你,我几乎没有经验我应该把那段代码放在哪里?对不起,我用的是C。