2015-09-04 65 views
-1
private void administrativeToolsToolStripMenuItem_Click(object sender, EventArgs e) 
{ 
    administrativeTools addAdminstrativetoolsForm = new administrativeTools(); 
    addAdminstrativetoolsForm.Owner = this 
    addAdminstrativetoolsForm.Show(); 
    this.Hide 
    addAdminstrativetoolsForm.StartPosition = FormStartPosition.CenterScreen; 
} 

public Form changeForm(Form ID); 
{ 
    ID addIDForm = new ID(); 
    addIDForm.Owner = this; 
    addIDForm.Show(); 
    this.Hide(); 
    addIDForm.StartPosition = FormStartPosition.CenterScreen; 
} 

代碼的第一部分是我的表單變化,我試圖創建它作爲一種方法,所以我不必寫出來,我已經非常清楚地做錯了!如何創建一個方便更換表單的方法?

PS我從來沒有完全理解方法創建/聲明ID是名稱/變量我試圖分配表

+0

是否有一個主窗體和一個「孩子」的形式在這裏,即一個對話框?或者你是否完全切換到其他表格,從不回到原始表格? –

+0

我只是隱藏表單,創建新表單,然後切換回來我使用隱藏表單並顯示所有者 - 這是否有意義? –

+0

這是一種非常不尋常的切換形式。如果臨時顯示另一個窗口(例如設置窗口),然後返回到主窗口(稱爲*對話框*),則應該使用ShowDialog()來執行此操作。 –

回答

0

請檢查該msdn article,你會發現方法,如:

ShowDialog(); 
Close(); 

第一個將打開新的對話框,讓你,第二個會爲你關閉它

+0

謝謝,但我必須創建一個用於課堂目的的方法 –

+0

是的,在創建窗體的方法中,顯示它(使用ShowDialog),當對話框關閉時,你回到你開始的地方。 –

0

試試這個

private void SwitchForm(Form theOtherForm) 
{ 
    this.Hide(); 
    theOtherForm.ShowDialog(); 
    this.Show(); 
} 

您仍然可以調用它你想要的。

將其設定爲一個事件處理程序做這樣的事情:

button1.Click += (sender, e) => SwitchForm(anoterForm)

相關問題