我想點擊一個窗體中的按鈕,這樣做會隱藏現有的窗體並顯示新的窗體,雖然我有有問題,還有屏幕上不同位置的「生成」形式的問題!使用按鈕/事件來顯示一個新窗體並隱藏在C#中的現存的一個#
我的代碼如下:
private void button1_Click(object sender, EventArgs e)
{
(new Form3()).Show();
(new Form2()).Hide();
}
這段代碼顯示了新的形式確定,但窗口2不隱藏
我想點擊一個窗體中的按鈕,這樣做會隱藏現有的窗體並顯示新的窗體,雖然我有有問題,還有屏幕上不同位置的「生成」形式的問題!使用按鈕/事件來顯示一個新窗體並隱藏在C#中的現存的一個#
我的代碼如下:
private void button1_Click(object sender, EventArgs e)
{
(new Form3()).Show();
(new Form2()).Hide();
}
這段代碼顯示了新的形式確定,但窗口2不隱藏
你正在創建的Form2新實例,隱藏那一個。我猜你正在尋找:
private void button1_Click(object sender, EventArgs e)
{
(new Form3()).Show();
this.Hide();
}
如果你想隱藏某種形式的,你需要呼籲的.Hide()
方法它的正確實例。因此,例如,當您創建表單,你可以將其存儲到一些變量:
Form2 form2 = new Form2();
後來當你要隱藏這種形式:
form2.Hide();
你正在隱藏一個新的表單。你應該做的是保持對你已經打開的窗體的引用,然後將其隱藏:
private void button1_Click(object sender, EventArgs e)
{
form3.Show();
form2.Hide();
}
private Form2 form2 = new Form2();
private Form3 form3 = new Form3();
不能創建窗體2的新實例,並期望在現有的Form2被隱藏。將現有Form2存儲到您的類的實例變量並在該實例上調用Hide()。
代碼(new Form2()).Hide();
實例化一個新實例Form2
。爲了隱藏現有的表單,您需要參考它。
如果你想隱藏現有的表單,(new Form2()).Hide()
不會這樣做,因爲那樣會從類Form2實例化一個新表單。
假設Button1的是要隱藏的形式,你想:
private void button1_Click(object sender, EventArgs e)
{
(new Form3()).Show();
this.Hide();
}
如果它是不一樣的形式,你需要表單的引用要隱藏:
private Form2 form2 = new Form2();
private Form3 form3 = new Form3();
form2.Show();
private void button1_Click(object sender, EventArgs e)
{
form2.Hide();
form3.Show();
}
@ BFree's是一個很好的答案。只是爲了咧嘴笑,在Form1_Load執行初始實例化和Show()之後,這裏有一些帶有兩個按鈕的代碼,這兩個按鈕可以切換兩個其他子Form2和Form3。
Form2 f2 = null;
Form3 f3 = null;
private void Form1_Load(object sender, EventArgs e)
{
f2 = new Form2();
f2.Show();
f3 = new Form3();
f3.Show();
}
private void button1_Click(object sender, EventArgs e)
{
if (f2.Visible)
{
f2.Hide();
}
else
{
f2.Show();
}
}
private void button2_Click(object sender, EventArgs e)
{
if (f3.Visible)
{
f3.Hide();
}
else
{
f3.Show();
}
}
你怎麼知道新的Form2沒有隱藏? – 2011-06-15 21:37:45
[如何在C#中使用按鈕事件切換窗體]的可能重複(http://stackoverflow.com/questions/6364475/how-to-switch-forms-in-c-using-a-button-event) – 2011-06-15 21:38:20
這將是'this.Hide()'。但請不要將後續問題作爲新問題發佈。 – 2011-06-15 21:39:01