2013-03-28 139 views
1

我一直試圖通過關閉它並重新打開當前表單來重置它的原始狀態。我希望表單對象被重置,要重新聲明的變量,要清除的類對象等我已經有一切工作,但班級被清除,無論我做什麼,它都不會創建一個新的空白數據。重置/重新載入當前表單

這裏是我的代碼:

if (btnRandom.Text == "Reset") 
{ 

    SetupScreen form = new SetupScreen(); 
    form.Show(); 
    this.Dispose(); 

    //Create new class for form/or launch load events as normal 
    form.Mybattleship = new battleship() 
    form.SetupScreen_Load(this, null); 
} 

我試着在互聯網上許多方法和沒有工作過..甚至過於複雜的問題..

哦,我忘了說我需要的新形式的行爲就好像它正常加載一樣,所以加載事件等觸發器

+1

你的意思是「戰列艦」級嗎?這是'SetupScreen'的當前實例嗎?如果是這樣,在那裏創建一個「戰列艦」應該沒有關係,更多的信息/代碼將是可取的。 –

+0

您的用戶需要做什麼才能完全關閉/打開表單進行重置?重置文本框/變量值不是更有效嗎?編輯我說這個原因你將會面臨閃爍的原因,無論你在切換到新窗體時做什麼 – Sayse

+0

基本上,我創建了一個電子版本的戰艦棋盤遊戲 我想爲SetupScreen重置,以便用戶可以重新開始,而不是通過每個表單對象,清除所有變量等我想要一個簡單的方法來關閉並重新打開一個新的表單 – Kehza

回答

1

如果您打開一個方法,您可以調用該方法,它將爲打開窗體時可以使用的項目設置默認值,重置...

public SetupScreen() 
{ 
InitializeComponent(); 
SetDefaultValues(); 
} 
private void SetDefaultValues() 
{ 
//start values.. 
} 
public void ResetBtn_Click(object sender, EventArgs e) 
{ 
SetDefaultValues(); 
} 
相關問題