在 C# 中成功從登入轉換到主視窗
在多表單 C# 應用程式中,典型的挑戰是從登入表單順利過渡到主應用程式表單,而不會過早關閉應用程式。 出現問題的原因是登入表單通常充當應用程式的主要訊息泵。關閉它會無意中終止應用程式的訊息循環,從而阻止主窗體出現。
解決此問題的關鍵是從 Program.cs
檔案管理應用程式的生命週期,而不是讓登入表單控制它。 這涉及將登入表單顯示為模式對話框。 模式對話方塊在單獨的訊息循環中運行,因此關閉它們不會影響主應用程式的循環。 然後,應用程式的狀態由登入表單的 DialogResult
.
解決方案如下:
<code class="language-csharp">static void Main() { LoginForm loginForm = new LoginForm(); if (loginForm.ShowDialog() == DialogResult.OK) { Application.Run(new MainForm()); } else { Application.Exit(); } }</code>
這個修改後的Main
方法處理應用程式的流程。登入表單以模態方式顯示(ShowDialog()
)。 如果登入成功 (DialogResult.OK
),則使用 Application.Run()
啟動主表單。 否則,Application.Exit()
會正常關閉應用程式。 這可確保登入表單充當主應用程式的受控入口點。
以上是如何防止關閉 C# 登入表單而終止應用程式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!