Hallo,

Ich habe gerade die postings zu einer Dispose-Frage gelesen:

Original geschrieben von Saber
Hallo zusammen!
.... So wie ich das verstanden habe erledigt doch die Garbage Collection von .NET die komplette Speicherverwaltung, oder? ..., wieso wird dann überall geschrieben, dass man Dispose() zum Freigeben des Speichers verwenden sollte. ...
Mike
Ich würde die Meinung bestätigen, dass Dispose sinnvoll aufgerufen wird, wenn ein nicht mehr benötigtes Objekt viel Speicher belegt - was oft "indirekt" durch Verweise auf Windows-Resourcen der Fall ist.

Nun aber meine Frage:

Der VisualStudio-Designer generiert grundsätzlich eine Dispose-Überlagerung, wo er ein Container-Objekt namens components disposed (wenn es != null ist). Ich hätte nun angenommen dass Steuerelemente, die man in die Form aufnimmt, in diesen Container eingetragen werden - dem ist aber nicht so: der Container bleibt eher leer (zumindest bei meinen bisherigen Experimenten). Ich habe bis jetzt einen einzigen Fall gefunden, wo der designer etwas in den Container aufnimmt: sobald man ein Timer-Element einfügt. Meine Frage daher:

Wann und wodurch wird etwas in diesen Container eingetragen?
Muss man das eventuell händisch programmieren, wenn ja: bei welchen Elementen konkret und wie?

Vielen Dank im Vorraus an alle, die vielleicht etwas mehr Licht ins Dispose-Dunkel bringen
hbz