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
17483
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022
- 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
14943
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
3 juillet 2022
161
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
17483
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022
600
22 sept. 2014 à 11:54
Bonjour quelle version de VB?
0
NHenry
Messages postés
14943
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
3 juillet 2022
161
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
17483
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
4 juillet 2022
600
22 sept. 2014 à 14:23
Je pensais aussi
0