Закройте все формы в VB - PullRequest
       1

Закройте все формы в VB

0 голосов
/ 19 октября 2010

Как мне закрыть все формы


Я использую wpf vb 2010

Для загрузки другой формы я использую как

Private frm As MainWindow = New MainWindow 

, чтобы открыть окно.использовал frm.Show() и чтобы закрыть его я использую frm.Close()


Теперь у меня есть две формы, такие как form1 и form2

Я хочу открыть form2, когда я нажимаю на кнопку - хорошоэто просто

Вопрос Как я могу закрыть форму1 из формы2, когда я открываю форму2, используя кнопку

, когда я пользуюсь

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

Это как крикл и не может закрыться

Ответы [ 2 ]

1 голос
/ 19 октября 2010

Самый простой способ - создать конструктор для 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
0 голосов
/ 19 октября 2010

Проект + Свойства, вкладка Приложения, измените режим выключения на «Когда последняя форма закрывается». Это гарантирует, что ваше приложение не закроется, пока все окна не будут закрыты.

Теперь вы можете написать такой код:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...