Anzeige

 dynamisch generierte steuerelemente löschen


#1
hallo, ich schon wieder.
nach ich es jetzt geschafft habe elemente dynamisch zu erstellen will ich sie wieder löschen. was bis her im internet gefunden habe hat mich nur minimal weitergebracht. stumpfes trial und error führte bisher auch zu nix.
ich was schon das ich Controls.Remove() benutzen sollte aber wie benutze ich es? der name kann ja nicht sein, der ist ja anfangs nicht bekannt, wenn ich nen string benutze krieg auch ne fehlermeldung.
der button den dazu benutze soll im übingens übergeortnete element als das panel in der er liegt löschen.
 

Spyke

Capoeirista
Premium-User
#2
Merke dir deine erstellten Controls.
Zum Beispiel mittels List<Control>

dort in der Liste könntest du dann ganz einfach deine Controls disposen (freigeben),
die Windows Forms ControlCollection reagiert auf Dispose und entfernt das entsprechende Control dann aus seiner Auflistung.
(Achtung in deiner eigenen List<Control> Auflistung musst du das Control selbst entfernen nachdem disposen)
 
#3
danke, das mit dem dispose war nen guter tipp.
da mir das aber viel zu viel code und vor allem aufwand ist, habe ich das ganze inzwischen anders gelöst.
Code:
Button b = sender as Button;
b.parent.Dispose();
 
Anzeige

Neue Beiträge

Anzeige