Jak utworzyć okno dialogowe logowania winform i zapętlić

Tworzenie formularza logowania, który następnie przejdzie do formularza głównego, jeśli poświadczenia są poprawne. Oto podstawowy pseudokod:

ShowLoginForm()

if (DialogResult == OK)
  CheckCredentials();
  if (credentials == VALID)
    ShowMainForm();
  else
    LoopBackAndShowLoginFormAgain();  //repeat process...
else
  CloseLoginForm();

Jednak jestem stosunkowo nowy w WinForms i wciąż się nad tym zastanawiam. Próbuję zdecydować, gdzie umieścić moją pętlę (Main () lub gdzieś w LoginForm). Gdzie należy sprawdzić poświadczenia? Oto, co mam do tej pory:

static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);

    LoginForm loginForm = new LoginForm();
    if (loginForm.ShowDialog() == DialogResult.OK)
    {
        Application.Run(new AutoSignerForm());
    }
}

Nie chcę opuszczać i wielokrotnie otwierać formularza logowania (szukam tutaj pewnej skuteczności, więc chcę użyć tego samego okna logowania). Wszelkie wskazówki, wskazówki lub pomysły?

questionAnswers(4)

yourAnswerToTheQuestion