J'ai une application VB.NET qui se comporte bizarrement (ou peut-être pas bizarrement du tout et il me manque quelque chose).Émission d'une application VB.NET Fermeture d'un événement sur un formulaire
J'ai un formulaire de connexion que lorsque l'utilisateur clique sur OK et se connecte avec succès, il charge le formulaire de demande principal. Cependant, lorsque je montre le formulaire principal et ferme le formulaire de connexion, l'application déclenche l'événement shutdown. Est-ce parce que l'application pense que le formulaire de connexion est le seul formulaire ouvert et déclenche ainsi l'événement shutdown?
Voici le code pour la routine de connexion, lorsque j'appelle Me.Close() à la fin est lorsque l'événement shutdown est déclenché. Est-ce que je fais des choses dans le désordre? J'avais l'habitude de le faire de cette façon en VB6 sans problèmes (je sais qu'ils sont très différents).
Remarque, ce n'est rien dans frmMain non plus, cela arrive peu importe la forme que j'essaie d'ouvrir.
Merci.
Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
'iLoginResult = 0 : Success
' 1 : Invalid user name or password
' 2 : Other login error
' 3 : User not authorized
Dim iLoginResult As Integer = 2
Dim sTopLabel As String = ""
Dim sBottomLabel As String = ""
Me.Cursor = Cursors.WaitCursor
Try
If Me.txtUserName.Text.ToString.Trim = "" Or Me.txtPassword.Text.ToString.Trim = "" Then
MessageBox.Show("Enter a user name and password before continuing.", "DocGen", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Exit Try
End If
iLoginResult = modGeneral.bLogin(Me.txtUserName.Text.ToString.Trim, Me.txtPassword.Text.ToString.Trim)
Select Case iLoginResult
Case 1 : sTopLabel = "The user name or password is incorrect" : sBottomLabel = "Check your user name then type your password again."
Case 2 : sTopLabel = "General login error" : sBottomLabel = "Contact your information technology department."
Case 3 : sTopLabel = "Unauthorized access" : sBottomLabel = "Contact your information technology department to gain access to this system."
End Select
If iLoginResult > 0 Then
RaiseDialog(sTopLabel, sBottomLabel)
Me.txtPassword.Text = ""
Me.txtUserName.Focus()
Me.txtUserName.SelectAll()
End If
Catch ex As Exception
RaiseError("", "frmLogin.btnOK_Click", Err.Number, Err.Description)
End Try
Me.Cursor = Cursors.Default
If iLoginResult = 0 Then
If Me.cmbEnvironment.Text = "Development" Then modGeneral.gbIsProduction = False
frmMain.Show()
Me.Close()
End If
End Sub
Ou appelez Me.Hide() au lieu de Me.Close() – asawyer
Donc ce que vous spécifiez comme le formulaire de démarrage de la solution est ce qui sera utilisé pour déclencher l'événement shutdown? J'ai des choses d'initialisation dans l'événement de démarrage de l'application, vous dites déplacer ailleurs et faire quelque chose semblable à Sub Main? Désolé, un peu nouveau sur VB.NET. – Tom
@Tom, Oui, vérifiez mes modifications dans un second – msarchet