Suppression du code générés par le designer

Signaler
Messages postés
69
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
7 avril 2007
-
Messages postés
69
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
7 avril 2007
-
bonjour,

Contexte :
Voilà j'ai un 1er composant qui dérive de Component : "Colonne"
    (rq : attribut de la classe : [DesignTimeVisible(false)])

J'ai défini une collection sur ce composant : "ColonneCollection"
    (rq :    attributs de la classe :
       [ListBindable (false)]
       [Editor        ("ColonneCollectionEditor", typeof(UITypeEditor))] )

J'ai enfin un UserControl dont l'une des propriétés est : "Columns" (il s'agit d'une instance de ma classe "ColonneCollection").
    (rq : attribut de la propriété : [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)])

Question :
Lorsque je modifie la propriété "Columns" de mon controle (via l'éditeur de collection), le code généré réagit bien, en ajout comme en suppression.
Par contre lorsque je supprime complètement mon controle en mode design, le code généré du controle est supprimé mais pas celui des Colonnes.
J'ai essayé de bidouiller qqc dans la fonction Dispose(), mais sans succès.
Quelqu'un a-t-il une idée ?

Merci.

1 réponse

Messages postés
69
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
7 avril 2007
3
j'ai trouvé. Pour info, je mets ce que j'ai fait :
dans le Dispose de mon UserControle, j'ai :

      protected override void Dispose(bool disposing)
      {
         for (int i=0; i<_Columns.Count; ++i)
         {
            _Columns[i].Dispose();
         }
         base.Dispose(disposing);
      }

et dans le Dispose de ma classe "Colonne", j'ai :
      public new void Dispose()
      {
            this.Dispose(true);
            GC.SuppressFinalize(this);
      }