首頁 >後端開發 >C++ >如何在Windows窗體應用程式中成功登入後顯示主窗體而不關閉應用程式?

如何在Windows窗體應用程式中成功登入後顯示主窗體而不關閉應用程式?

Linda Hamilton
Linda Hamilton原創
2025-01-10 07:01:44238瀏覽

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

在成功登入後顯示主視窗而不登出應用程式

在 Windows 窗體應用程式中,關閉主窗體通常會終止程式。但是,在某些情況下,您可能需要關閉登入窗體並在不結束應用程式的情況下啟動主窗體。本文探討了這個問題並提供了解決方案。

問題:

使用者建立了一個包含兩個窗體的 Windows 窗體項目:登入窗體和主窗體。成功登入後,目標是關閉登入窗體並顯示主窗體。但是,使用 Close() 方法關閉登入窗體不會開啟主窗體,且應用程式會終止。

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

解:

問題在於關閉登入窗體也會關閉應用程式。解決方案包括將登入邏輯從登入窗體移至 Program.cs 檔案。然後,透過使用 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>

在 Program.cs 中,建立並顯示一個模態登入窗體 (fLogin) 作為對話方塊。如果使用者提供有效的憑證,ShowDialog() 將傳回 DialogResult.OK,從而觸發透過 Application.Run() 建立新的 MainForm 實例。否則,應用程式將退出 (Application.Exit())。

以上是如何在Windows窗體應用程式中成功登入後顯示主窗體而不關閉應用程式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn