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

bob94700 Messages postés 69 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 7 avril 2007 - 3 juin 2006 à 18:50
bob94700 Messages postés 69 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 7 avril 2007 - 4 juin 2006 à 09:17
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

bob94700 Messages postés 69 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 7 avril 2007 4
4 juin 2006 à 09:17
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);
      }
0
Rejoignez-nous