Diskuze: Po přidání do controls nasledně odebrání

C# .NET .NET (C# a Visual Basic) Po přidání do controls nasledně odebrání American English version English version

Avatar
Radovan Pelka:

Zdravim,
chtěl bych se jen zeptat jestli by mi tady někdo stímhle poradil.
Mám button po kliku mě ten button vytvoří panel s textboxem a buttonem na potvrzení chtěl bych když kliknu na ten potvrzovací btn tak aby se ten panel odstranil muj kód zde:

//Panel
Panel NewPanel = new Panel();
NewPanel.Name = "panel_create";
NewPanel.BackColor = Color.Yellow;
NewPanel.Dock = DockStyle.Fill;
this.Controls­.Add(NewPanel);
NewPanel.Brin­gToFront();

//TxtBox
TextBox box = new TextBox();
box.Name = "txtbox";
NewPanel.Control­s.Add(box);

//Btn
Button NewBtn = new Button();
NewBtn.Text = "Create";
NewBtn.BackColor = Color.White;
NewBtn.ForeColor = Color.Black;
NewBtn.Click += new EventHandler(Cre­ateNew);
NewPanel.Control­s.Add(NewBtn);

private void CreateNew(object sender, EventArgs e)
{
//Tady bych chtěl aby se ten panel co se vytvořil odstranil
}

 
Odpovědět 13. července 12:13
Avatar
Honza
Člen
Avatar
Odpovídá na Radovan Pelka
Honza:

Ahoj, stejně jako sis ho tam přidal, tak ho můžeš odebrat:

this.Controls.Remove(NewPanel);

Jediné co musíš udělat je si ten panel uložit někam do proměnné, aby ses k němu dostal i z eventu.

Druhý způsob jak se k tomu panelu dostat je přes button který ten event vyvolal. Pokud víš že ten button je vždycky přímo na panelu který chceš odstranit, tak se k němu můžeš dostat takhle:

private void CreateNew(object sender, EventArgs e)
{
         if (sender is Button)
         {
             Button tmpButton = (Button)sender;
             Controls.Remove(tmpButton.Parent);
         }
}

A příště prosím používej tlačítko "Vložit zdroják" je to pak mnohem čitelnější.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět  +1 13. července 12:36
Snadnou cestou se daleko nedostanete, je tam velká tlačenice...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.