Как закрыть(открыть) форму VB.NET

Valeriu
Дата: 29.05.2014 16:18:37
Всем доброго дня.
Такой вопрос VB.NET.
Открываю форму для ввода логина и пароля,
потом эту закрываю и открываю MDI форму.
Не знаю почему но закрывается обе формы.
В чем моя ошибка ?
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim res As String, Ret As String = ""
        Dim Str As String = "", Er As String = ""
        Dim f As New MDIFrm
        On Error GoTo mError
        writeIni(File, Section, Host, txtIP.Text)
        writeIni(File, Section, Port, txtPort.Text)
        writeIni(File, Section, Nms, txtZN.Text)
        writeIni(File, Section, Pasw, txtPasword.Text)
        m.Server = txtIP.Text 'Windows Host
        m.PORT = txtPort.Text
        m.Login()
        m.Xecute("ZN """ & txtZN.Text & """")
        m.Do("PAROL^SPRSAL", StrConv(txtPasword.Text, vbUpperCase), Ret, Er)
        If Er <> "" Then
            txtPasword.Text = ""
            txtPasword.Focus()
            MsgBox(Er, vbInformation)
            Exit Sub
        End If
        Me.Close() ' Здесь закрываю старую

        f.Show() ' Здесь открываю новую форму

        Exit Sub
mError:
        MsgBox("Error: " & Err.Description)
    End Sub
Valeriu
Дата: 29.05.2014 16:27:50
Me.Hide() - вроде работает..
А что правильнее, Me.Hide() или Me.Close() ?

Спасибо.
Изопропил
Дата: 29.05.2014 16:31:43
Valeriu,

закрытие формы происходит по причине закрытия приложения

в свойствах проекта снять флажок "Enable Application Framework" и написать свою Sub Main
WitC
Дата: 31.05.2014 11:00:17
Valeriu,

лучше отслеживай события приложения...
т.е. при старте приложения (не формы МДИ), покажи форму с паролем.
при правильном вводе пароля (завяжи логику проверки) продолжай загрузку приложения...
при не правильном просто не вызывай старт приложения....

события приложения можно открыть в свойствах проекта найди кнопочку ShowEvents ...

простенький пример прикладываю...