2013-03-01 48 views
1

我正在使用登錄功能項目點擊一下關閉兩個表單?

當我運行項目時,有一個窗體(form1)運行登錄。 我點擊登錄按鈕後,建立另一個表格(form2) - 這是我的程序的形式。 並取得第一個表格(form1)隱藏。

問題是,當我按下form2中的X按鈕時,它靠近,但form1仍在運行。

我試圖關閉form1而不是隱藏...但這將推出

form1之前關閉form2

this.Hide(); 
Form2 x = new Form2();     
x.Show(); 

回答

0

您可以訂閱孩子形成FormClosed事件,並用它來調用Close父窗體上。

x.FormClosed += new FormClosedEventHandler(x_FormClosed); 

void x_FormClosed(object sender, FormClosedEventArgs e) 
{ 
    this.Close(); 
} 
+0

謝謝你......你最好的...... !! 它的工作 – 2013-03-01 17:37:10

5

我覺得你周圍有走錯路的形式。

Form1的是前人的精力你的應用程序和shold顯示窗體2的對話框時,第一次加載,然後它關閉時,你可以處理結果,並據此決定是否繼續或關閉應用程序。

喜歡的東西:

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
     Load += new EventHandler(Form1_Load); 
    } 

    void Form1_Load(object sender, EventArgs e) 
    { 
     Form2 myDialog = new Form2(); 
     if (myDialog.ShowDialog() == System.Windows.Forms.DialogResult.Cancel) 
     { 
      // failed login 
      // exit application 
     } 
     // all good, continue 
    } 
} 
0

的按鈕,如果你想退出

private void exitBtn_Click(object sender, EventArgs e) 
     { 
      Application.Exit(); 
     } 

希望這個試試這個,在日誌中是否允許存取

private void logInBtn_Click(object sender, EventArgs e) 
     { 
      Form2 frm = new Form2(); 
      frm.ShowDialog(); 
      this.Hide(); 
     } 

然後在窗口2幫助。

+1

感謝的人我發現它......感謝所有的東西 – 2013-03-01 17:46:34

0

你去你的form2然後在表單查找FormClosed的事件。

把這個代碼在你的事件處理程序:

private void Form2_FormClosed(object sender, FormClosedEventArgs e) 
    { 
     Application.Exit(); 
    } 

FormClosed是每當用戶關閉窗體事件。因此,當你關閉表單時,將會退出你的應用程序的代碼是-applicationn.exit(); -

希望這會起作用。