2011-10-26 111 views
0

我一直在調整我的節目了一整天,我有隱藏一種形式,會彈出說有問題「請等待」如何隱藏從主窗體形式

例如:

private void button12_Click(object sender, EventArgs e) 
    { 
     form2 wait = new form2(); 
     pw.Show(); 
    } 
    private void button13_Click(object sender, EventArgs e) 
    { 
     form2 wait = new form2(); 
     pw.Hide(); 
    } 

這是行不通的,雖然我確信這不是偶然的C#程序員的消息。有沒有一種簡單的方法來做我正在嘗試的?我嘗試過在線搜索,但我確實發現了一些東西,雖然我不是100%確定他們正在嘗試做什麼。我打算找一個例子向你展示,但我關閉了頁面 - 典型。不過,我認爲他們試圖超越節目,讓你用bool控制.show。

+0

所以問題只是躲在'pw'? – philt5252

+0

是的,我似乎無法隱瞞它 - 無論我嘗試什麼。 – Marshal

+0

你是否在代碼中將'pw'設置爲其他表單的其他表單?我有一個示例應用程序安裝程序,其中包含兩個按鈕,每個按鈕都帶有上面列出的操作...我的pw隱藏和顯示很好。 – philt5252

回答

4

因爲你希望它是因爲裏面button12_Clickform2button13_click內從form2不同的代碼無法正常工作。請注意,您正在使用new關鍵字兩次。所以在button13_click中,你正在創建一個新的form2,然後隱藏它,即使你還沒有顯示它!

相反,你可以創建一個form2比如你兩種方法之間共享:

//define this code outside both of the methods below 
form2 _waitForm = new form2(); 

private void button12_Click(object sender, EventArgs e) 
{ 
    _waitForm.Show(); 
} 
private void button13_Click(object sender, EventArgs e) 
{ 
    //this will hide the same form2 that was shown in button12_Click 
    _waitForm.Hide(); 
} 
+0

是啊,凱文說的是:) – Kell