Maison >développement back-end >C++ >Comment afficher le formulaire principal après une connexion réussie dans une application Windows Forms sans fermer l'application ?

Comment afficher le formulaire principal après une connexion réussie dans une application Windows Forms sans fermer l'application ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-10 07:01:44251parcourir

How to Show the Main Form After Successful Login in a Windows Forms Application Without Closing the App?

Afficher le formulaire principal après une connexion réussie sans quitter l'application

Dans les applications Windows Forms, la fermeture du formulaire principal termine généralement le programme. Cependant, dans certains cas, vous devrez peut-être fermer le formulaire de connexion et lancer le formulaire principal sans terminer l'application. Cet article explore ce problème et propose une solution.

Question :

Un utilisateur crée un projet Windows Forms qui contient deux formulaires : un formulaire de connexion et un formulaire principal. Après une connexion réussie, l'objectif est de fermer le formulaire de connexion et d'afficher le formulaire principal. Cependant, la fermeture du formulaire de connexion à l'aide de la méthode Close() n'ouvre pas le formulaire principal et l'application se termine.

<code class="language-c#">public void ShowMain()
{
    if (auth())
    {
        var main = new Main();
        main.Show();
        this.Close();
    }
    else
    {
        MessageBox.Show("Invalid login details.");
    }
}</code>

Solution :

Le problème est que la fermeture du formulaire de connexion ferme également l'application. La solution consiste à déplacer la logique de connexion du formulaire de connexion vers le fichier Program.cs. Ensuite, lancez le formulaire principal après une connexion réussie à l'aide de Application.Run().

<code class="language-c#">static void Main()
{
    LoginForm fLogin = new LoginForm();
    if (fLogin.ShowDialog() == DialogResult.OK)
    {
        Application.Run(new MainForm());
    }
    else
    {
        Application.Exit();
    }
}</code>

Dans Program.cs, créez et affichez un formulaire de connexion modal (fLogin) sous forme de boîte de dialogue. Si l'utilisateur fournit des informations d'identification valides, ShowDialog() renverra DialogResult.OK, déclenchant la création d'une nouvelle instance MainForm via Application.Run(). Sinon, l'application se fermera (Application.Exit()).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn