Vas muy bien te acosejo que termines todo el menu.
Este es uno de nuestros menus.
El formulario de atras es como el tuyo tiene en true la propiedad isMdiContainer=true
paso#1
termina todo el Menu el el formulario Mdi
Paso #2
No quites la salida ni el login del menu
el login se queda por que a veces entramos con otro usuario
Paso#3
Agrega una variable global que indique si el password lo diste correcto o no
la variable global la creas agregando un modulo y dentro de este modulo pones
Public LoginSucceeded as boolean
Paso#4
En el formulario login
Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
Dim usr As New BE.BE.Usuario_BE
usr.Usuario = Me.UsernameTextBox.Text
usr.Password = Me.PasswordTextBox.Text
Try
Select Case BLL.BLL.Usuario_BLL.loginUser(usr)
Case 1
MsgBox("Usuario y/o contraseña incorrectos", MsgBoxStyle.Exclamation, "Validacion")
Me.PasswordTextBox.Clear()
Exit Sub
Case 2
MsgBox("Su cuenta está bloqueada." & Chr(13) & _
"Por favor póngase en contacto con el Administrador.", MsgBoxStyle.Exclamation, "Cuenta bloqueada")
Me.PasswordTextBox.Clear()
Exit Sub
End Select
'esto es nuevo
LoginSucceeded=true
Me.Close()
Catch ex As Exception
MsgBox(ex.InnerException.Message, MsgBoxStyle.Critical, "Error")
End Try
End Sub
Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
Me.Close()
End Sub
y en el de cancelar pones
Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
'esto es nuevo
LoginSucceeded=true
Me.Close()
End Sub
Private Sub Acceso_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
' en load del forumulario del mdi pones
Login.ShowDialog()
If LoginSucceeded = False Then
'aqui cierro el mdi y se cierra todo el programa
Me.Close()
End If
Por favor cualquier duda mencionala.
Tu base de datos en que esta?
Saludos.