2014-05-08 1 views
-1

mainForm (내 프로그램이 실제로 시작되는 곳)과 loginForm을 만들었습니다. loginForm은 프로그램이 시작될 때 대화 상자로 나타나므로 로그인을 올바르게하면 종료되고 메인 폼이 정상적으로 팝업됩니다. 내 mainForm에 빨간색 "X"(오른쪽 상단)을 명중에C# winform 대화 상자가 프로그램을 종료하지 않음

언제 내 모든 응용 프로그램은 선한 닫습니다. 하지만 대화 상자에서 "X"를 눌렀을 때 대화 상자가 닫히지 만 mainForm이 계속 나타납니다.

어떻게 해결할 수 있습니까? 미리 감사드립니다!

private void loginButton_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     var sr = new System.IO.StreamReader("C:\\" + inlogNaamTextbox.Text + "\\Login.txt"); 
     gebruikersnaam = sr.ReadLine(); 
     passwoord = sr.ReadLine(); 
     sr.Close(); 

     if (gebruikersnaam == inlogNaamTextbox.Text && passwoord == inlogPasswoordTextbox.Text) 
     { 
      MessageBox.Show("Je bent nu ingelogd!", "Succes!"); 
      this.Dispose(); 
     } 
     else 
      MessageBox.Show("Gebruikersnaam of wachtwoord fout!", "Fout!"); 
    } 
    catch (System.IO.DirectoryNotFoundException ex) 
    { 
     MessageBox.Show("De gebruiker bestaat niet!", "Fout!"); 
    } 
} 

이 알고리즘은 다음과 같은해야 내 로그인 코드

+1

코드를 잘 볼 수 있습니다. 로그인 양식 결과를 어떻게 처리합니까? –

+2

당신이 사용하고있는 코드를 보여주지 않으면 알려주지 마십시오. 우리는 당신이 보는 것을 볼 수 없습니다. – MethodMan

+0

@ user3609166 당신이 내 표를 얻은'경력 변화 '를위한 명확한 후보자입니다 !! !! – MethodMan

답변

1

입니다 - 응용 프로그램 시작 쇼 로그인 양식 방법 Main에. 사용자가 성공적으로 로그인 한 경우이 양식의 DialogResultDialogResult.OK으로 설정하십시오. 그런 다음 DialogResult을 로그인 양식으로 처리하십시오. 그것이 없다면 OK 다음 응용 프로그램이 존재합니다. 그렇지 않으면 기본 양식을 실행하십시오.

using(LoginForm login = new LoginForm()) 
{ 
    if (login.ShowDialog() != DialogResult.OK) 
     return; 
} 

Application.Run(new MainForm()); 
+0

그리고이 코드는 로그인 대화 상자에서 X를 눌렀을 때 프로그램을 닫는 데 도움이됩니까? 그리고 그것을 어디에 넣어야합니까? loginform 또는 main? – user3609166

+1

왜 그것을 시도하고 중복 된 질문을하는 대 우리에게 알려주십시오. 어떤 노력을 보여주십시오 – MethodMan

+0

@ user3609166 당신은'Program.cs' 파일의'Main' 메소드에 넣어야합니다. 예. DialogResult를 설정하지 않고 로그인 양식을 닫으면 응용 프로그램이 종료됩니다. –

관련 문제