[英]Parent form and Child form in Loop C#
我正在嘗試為我的工具創建一個登錄名並對其進行了排序,但是當他們按下登錄名(子表單)時,程序會循環並要求用戶再次登錄。 我注意到當我按下“退出”按鈕時,它會很好地加載父表單,但我不想要那樣。 我希望我的用戶按登錄,然后直接轉到父表單。 要在 Form1_Load 中的父表單之前打開子表單,我有這個:
Login Log = new Login();
Log.ShowDialog();
在子表單上的“登錄”按鈕內,我有這個:
this.Hide();
Form1 Main = new Form1();
Main.Show();
處理此問題的最佳方法是在表單啟動之前處理登錄(例如在 Program.cs 中,但在應用程序初始化之后)。 在您的登錄表單中插入一個變量(例如,一個顯示他們是否通過您的授權測試的布爾值)並在表單關閉后檢查授權狀態。 如果該標志設置為 false,那么您可以執行 return 或 Application.Exit() 並且用戶將永遠不會看到主窗體。
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
SomeLoginForm Login = new SomeLoginForm();
Login.ShowDialog();
if (!Login.HasPassedAuthorization)
{
MessageBox.Show("Sorry you failed to pass the test! I'm kicking you out now!");
Application.Exit(); // or do a "return;"
}
Application.Run(new Form1());
}
}
static class SomeLoginForm()
{
internal bool HasPassedAuthorization;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.