Suppresion des controles et libération de mémoire

Résolu
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 - 21 sept. 2014 à 15:35
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 - 22 sept. 2014 à 14:23
Bonjour,

Dans mon appli, je crée un certain nombre de contrôles (panel, label...) dans des contrôles précédemment créé.



'Exemple:
'Creation du FlowLayoutPanel (conteneur )

PanItemAdded = New FlowLayoutPanel()
With PanItemAdded
.Name = "PanItemAdded" & Index
.
.
.
.Tag = Index
End With

'ajout d'un gestionnaire d'événement
AddHandler PanItemAdded.Click, AddressOf PanItemAdded_Click
MyCollec_TabItems.Add(PanItemAdded)
PLCWave.PanelLineTab.Controls.Add(PanItemAdded)

'Puis création d'un panel dans le conteneur

Pan_Tab_Color = New Panel()
With Pan_Tab_Color
.Name = "Pan_Tab_Color" & Index
.
.
.
.Tag = Index
End With

'ajout d'un gestionnaire d'événement
AddHandler Pan_Tab_Color.Click, AddressOf PanItemAdded_Click
AddHandler Pan_Tab_Color.MouseDown, AddressOf Pan_Tab_Color_MouseDown
CType(PLCWave.PanelLineTab.Controls("PanItemAdded" & Index), FlowLayoutPanel).Controls.Add(Pan_Tab_Color)


Seulement voila, quand je souhaite le supprimer, je fais:


For Each ctrl In MyCollec_TabItems
ctrl.Dispose()
Next
MyCollec_TabItems.Clear()


Mais est-ce que cela supprime aussi les controles enfants? Et la libération de mémoire est-elle optimale?

Merci de votre expérience,

Jimy

5 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
21 sept. 2014 à 15:41
- Mais est-ce que cela supprime aussi les controles enfants?
Je ne sais pas, dans un cadre d'assurance, tu pourrais faire une fonction récursive de libération des ressources (en utilisant la propriété "Controls" pour lister les controles enfants).

- Et la libération de mémoire est-elle optimale?
Oui, la méthode "Dispose" libère immédiatement les ressources consommées par l'objet, enfin, selon le codage de la classe en question.
1
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
22 sept. 2014 à 11:45
Merci NHenry,

j'ai en faite créé une collection pour les controles enfants.
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
22 sept. 2014 à 11:54
Bonjour quelle version de VB?
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
22 sept. 2014 à 12:04
A la vue du code, .NET, je déplace donc.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
22 sept. 2014 à 14:23
Je pensais aussi
0
Rejoignez-nous