Como criar diálogo de login do winform e manter o loop

Criando um formulário de login que prosseguirá para o formulário principal se as credenciais estiverem corretas. Aqui está o pseudocódigo básico:

ShowLoginForm()

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

No entanto, sou relativamente novo no WinForms e ainda estou descobrindo. Estou tentando decidir onde colocar meu loop (Main () ou algum lugar no LoginForm). Onde devo verificar as credenciais? Isto é o que eu tenho até agora:

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

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

Eu não quero sair e abrir um formulário de login repetidamente (estou procurando por alguma eficiência aqui, então eu quero usar o mesmo diálogo de login). Qualquer ponteiros, dicas ou ideias?

questionAnswers(4)

yourAnswerToTheQuestion