【问题标题】:Close all forms in vb关闭vb中的所有表格
【发布时间】:2010-10-19 13:20:44
【问题描述】:

如何关闭所有表单


我使用 wpf vb 2010

要加载我使用的其他表单

Private frm As MainWindow = New MainWindow 

打开我使用frm.Show()的窗口 并关闭它我使用frm.Close()


现在我有两个表单,比如 form1 和 form2

我想在单击按钮时打开 form2 - 好的,这很简单

问题当我使用按钮打开 form2 时,如何从 form2 中关闭 form1

当我使用时

Private frm As form1 = New form1 
frm.Close()

它像一个cricle,不能合上

【问题讨论】:

    标签: vb.net winforms


    【解决方案1】:

    最简单的方法是为 Form2 创建一个构造函数,该构造函数在创建时引用一个 Form1 的实例。 Form2 的新实例可以保留该引用并在需要时关闭 Form1 的实例。

    Public Class Form2
    
        Private Property formOne As Form1
    
        Public Sub New()
        End Sub
    
        Public Sub New(Form1 frm)
            formOne = frm
        End Sub
    
        Public Sub CloseFormOne()
            If formOne != null Then
                formOne.Close()
            End If
        End Sub
    
    End Class
    

    【讨论】:

      【解决方案2】:

      项目 + 属性,应用程序选项卡,将关闭模式更改为“当最后一个表单关闭时”。这可确保您的应用在关闭所有窗口之前不会退出。

      现在您可以编写如下代码:

      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
          Dim frm As New Form2
          '' Optional: keep it in the same spot
          frm.StartPosition = FormStartPosition.Manual
          frm.Location = Me.Location
          frm.Size = Me.Size
          '' Display the form
          frm.Show()
          '' Close the current form
          Me.Close()
      End Sub
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-30
        • 1970-01-01
        • 2018-11-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多