2013-04-29 234 views
0

這可能很瑣碎,但我的問題是我需要刪除兩個按鈕,當他們中的一個被點擊。目前,我的代碼會在點擊第三個按鈕時創建這兩個按鈕。我想要的是這些選項中的一個去做某些事情(我已經完成了這些),一旦完成,就讓這些按鈕再次消失。下面是代碼來創建兩個按鈕:如何在單擊另一個按鈕時刪除按鈕?

private void btnRandom_Click(object sender, EventArgs e) 
{ 
    Button d = new Button(); 
    Button c = new Button(); 
    d.Text = "Dice"; 
    c.Text = "Chance Card"; 
    d.Name = "btnDice"; 
    c.Name = "btnCC"; 
    d.Location = new Point(btnRandom.Location.X, btnRandom.Location.Y + 30); 
    c.Location = new Point(btnRandom.Location.X, btnRandom.Location.Y + 60); 
    d.Click += new EventHandler(d_Click); 
    c.Click += new EventHandler(c_Click);    
    this.Controls.Add(d); 
    this.Controls.Add(c); 
} 

及以下使用

this.btnDice.Enabled = false; 

,或者你可以用我在刪除此按鈕嘗試失敗

private void d_Click(object sender, EventArgs e) 
{ 
    this.Controls.Remove(btnDice); // This doesnt work 
} 
+1

您可以使按鈕不可見:btnDice.Visible = false; – Max 2013-04-29 11:51:20

+0

當你第一次。但的確如此,儘量讓它看起來不可見 – DiederikEEn 2013-04-29 11:52:20

+0

並使其再次可見:btnDice.Visible = true? – Sizza 2013-04-29 11:52:33

回答

1

您可以禁用按鈕可見的財產來隱藏它 例如

this.btnDice.Visible = false; 

對於刪除您可能需要刷新表單。

0

您可以通過刪除sender試試這個:

private void d_Click(object sender, EventArgs e) 
{ 
    this.Controls.Remove((Button)(sender)); 
    this.Refresh(); 
} 
0

你爲什麼不只是使按鈕消失,再度浮出水面?

//Make the button disappear 
this.btnDice.Visible = false; 

//Make the button reappear 
this.btnDice.Visible = true; 
相關問題