2017-06-14 56 views
0

我在我的程序在這裏有一個錯誤。當用戶想要退出時,表單不能自動關閉。我已經叫它關閉,如果語法但它不能這樣做。我的編程語言是Microsoft Visual Studio C#2010,並使用Windows窗體選項。如何關閉窗體,如果用戶按c退出登錄#

注意:我不想關閉整個表格。我只想關閉兒童表格。

這就是我所做的。

這是調用形式

registerForm rgs; 
loginForm lgn; 
masterCarForm mcf; 
manageEmployeeForm mef; 
rentForm rf; 
bookingRentForm brf; 
viewRentForm vrf; 
reviewForm refo; 

這是登出代碼

private void SMCsignOut_Click(object sender, EventArgs e) 
{ 
    if (SMPstaffMenu.Visible == true) 
    { 
     if ((mcf != null && !mcf.IsDisposed) || (mef != null && !mef.IsDisposed) || (rf != null && !rf.IsDisposed)) 
     { 
      mcf.Hide(); 
      mef.Hide(); 
      rf.Hide(); 
      SMClogin.Visible = true; 
      SMCsignOut.Visible = false; 
      SMPstaffMenu.Visible = false; 
      SMPservice.Visible = false; 
      SMCregister.Visible = true; 
     } 
     else 
     { 
      if (brf != null && !brf.IsDisposed && vrf != null && !vrf.IsDisposed && refo != null && !refo.IsDisposed) 
      { 
       brf.Hide(); 
       vrf.Hide(); 
       refo.Hide(); 
       SMClogin.Visible = true; 
       SMCsignOut.Visible = false; 
       SMPstaffMenu.Visible = false; 
       SMPservice.Visible = false; 
       SMCregister.Visible = true; 
      } 
     } 
    } 
} 

所以一個代碼,我應該在這裏做..謝謝..

+0

在你的代碼中你只隱藏窗口(即調用'Hide()'),但是這實際上並不會關閉窗口(並且因此讓應用程序運行)。當你想在Windows窗體中關閉一個窗口時,你必須調用'Close()'方法。或者,您可以嘗試調用System.Windows.Forms.Application.Exit()來關閉當前打開的所有窗口。 – bassfader

+0

不..我只是想關閉孩子的形式.. @bassfader –

回答

1

您是否嘗試過使用Form.Close

在窗體窗體中,使用Form.Close(在這種情況下,我想當按下「Sign Out」按鈕時)應該關閉子窗體,而不是隱藏它,就像它在代碼中一樣。

+0

不..如果application.exit,它會關閉mdiparent形式..我只是想關閉孩子形式 –

+0

@YosuaChristianov你是否正在關閉子表單內的子表單?還是從父窗體? – tmello01

+0

我有6個孩子的家庭形式..所以,我想關閉這六個不是家庭形式@ tmello01 –

相關問題