2016-08-27 10 views
1

私は2つのフォームを持っています。フォーム1はログインフォームです。ユーザー名とパスワードが正しく入力された場合、ユーザーはフォーム2に移動し、フォーム1を非表示にします。 フォーム2はフォーム2を閉じてフォーム1に戻るためのボタン「ログアウト」を含みます..フォーム2を閉じたときにフォーム1を閉じる(赤い十字ボタンから)

これはコードですボタンログアウトのためにまだをForm1(ログイン)この場合には..

private void logout_Click(object sender, EventArgs e) 
    { 
     this.Close(); 
     foreach (Form OpenedForm in Application.OpenForms) 
     { 
      if (OpenedForm is Form1) 
      { 
       OpenedForm.Show(); 
       break; 
      } 
     } 
    } 

すべてはそれでokです..しかし、ユーザーがログアウトせずに直接アプリケーションを終了するために赤い十字をクリックしたときにのみ問題が表示されます隠された.. 赤い十字からform2を閉じるときにform1を閉じる解決策はありますか?おかげで、私の貧しい英語のために申し訳ありません

+0

は、Form2ののクロージングイベントを処理し、共通の機能にlogout_Clickの身体をリファクタリングし、両方のイベントはそれを呼び出す持っ検出するためのお手伝いをすることができます - ログアウトと終了の引数を追加する – user326608

+0

アプリケーションが終了すると、隠しフォームが自動的に閉じられます。したがって、メインフォームを閉じてアプリケーションを終了させると、非表示のログインフォームも非表示になります。非常にシンプルで、追加のイベントを処理する必要はありません。 –

答えて

3

FormClosing Eventを試すことができます。

private void Form2_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    // close the first form... 
} 

This thread赤い十字がクリックされたとき...

+0

ありがとう..シンプルで便利な:) –

関連する問題