2016-09-22 41 views
0

我正在使用Visual Studio 2010我現在正煩惱我的項目中的一個問題。這個問題你可能覺得很愚蠢。但我不知道發生了什麼。使用「this.Close()」時未完全關閉窗體完成使用「this.Close()」時

在我的項目中有3種形式。

  • Form1中
  • 窗體2
  • DisplayFrm

我嘗試使用其他兩種形式(Form 1和Form)

這是一種形式(DisplayFrm)代碼我曾用「Form1」和「Form2」打開「DisplayFrm」

 DisplayFrm.InitialLoadCustProf = RegCustIDtextBox.Text; 
     DisplayFrm frm = new DisplayFrm(); 
     frm.ShowDialog(); 
  • 我開「DisplayFrm」使用1跳轉
  • 做一些操作那邊之後,我已經關閉,使用表格標題欄[X]按鈕。
  • (我也有通過給this.Close()嘗試;在一個單獨的按鈕

問題是,當我打開DisplayFrm agian使用窗體2,它不開始作爲一種新鮮的形式。它只是恢復我已經完成的操作已經關閉之前的DisplayFrm

  • 我沒有任何其他項目的麻煩。我認爲我的項目崩潰了..它沒有顯示任何類型的錯誤。
  • 有什麼方法可以使用this.dispose();與形式關閉事件?。目前不工作很好。
  • 爲什麼我的表單沒有關閉? 。爲什麼它表現得像我使用this.hide();this.show();
+4

您是否在DisplayForm類中使用某種靜態變量?這些變量(如果有的話)是否涉及在DisplayForm中完成工作狀態?最後你在form2代碼中創建_new DisplayForm()_? – Steve

回答

1

DisplayFrm.InitialLoadCustProf似乎是靜態的。嘗試將其更改爲一個實例屬性並打開窗體,如下所示:

using(DisplayFrm frm = new DisplayFrm()) 
{ 
    frm.InitialLoadCustProf = RegCustIDtextBox.Text; 
    frm.ShowDialog(this); 
}