Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Persistance des items d'une collection au moment du design [ Divers / General ] (Kevin.Ory)

lundi 30 juin 2008 à 21:52:57 | Persistance des items d'une collection au moment du design

Kevin.Ory

Bonsoir,
J'ai créé un contrôle ayant comme propriété une collection d'objets. Mon problème est que les items contenus dans cette collection ne sont pas persistants au moment du design. Autrement dit, lorsque on ajoute des items à la collection au moment du design, aucun code n'est créer par le designer pour ajouter ces items à la collection.

Voici mon contrôle:
Public Class MyControl
    Inherits Control

    Public ReadOnly Property Items() As List(Of Panel)
        Get
            Return _Items
        End Get
    End Property
    Private _Items As New List(Of Panel)

End Class

Lorsque on ajoute un item à la collection (toujours au moment du design), le designer va déclarer l'item (il s'agit d'un control) mais ne va pas l'ajouter à la liste:
Friend WithEvents Panel1 As System.Windows.Forms.Panel
Me.Panel1.Location = New System.Drawing.Point(0, 0)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(200, 100)
Me.Panel1.TabIndex = 0

Me.MyControl1.Items.Add(Me.Panel1)                      ' Ceci n'est pas ajouté !!!

Pourtant ça fonctionne très bien avec les autres contrôles "liste". Par exemple pour la ListView, le designer rajoute ceci:
Me.ListView1.Items.AddRange(New System.Windows.Forms.ListViewItem() {ListViewItem1, ListViewItem2, ListViewItem3})


Quelqu'un sait-il comment résoudre ce problème?



Remarque:
Si je ne déclare pas Items de MyControl Readonly, ça me fait :
- Hier soir, le designer m'a généré du drole de code qui produisait une "SyntaxError"
- Ajourd'hui, j'ai un message "Panel n'est pas marqué comme étant sérializable".
J'avais déjà fais un contrôle ayant une collection d'objet, et j'avais rencontré le même problème. Mais j'avais alors remarqué que si on ne déclarait pas la propriété Items Readonly et que les items qu'elle contenait était sérialisable en XML, les données était persistantes au moment du design (le designer stoquait les données dans les ressources de l'application). Seulement, aujourd'hui mes Items ne sont plus sérialisables en XML puisque il s'agit de contrôles.



mardi 1 juillet 2008 à 11:33:14 | Re : Persistance des items d'une collection au moment du design
mardi 1 juillet 2008 à 16:51:12 | Re : Persistance des items d'une collection au moment du design

Kevin.Ory

Mouais... pas vraiment de rapport, même si il est vrai que les contrôles ajoutés à la liste Controls sont  persistants (logique, c'est le fondement même du desiger de VS)

Mais comment cela se fait-il? Pourquoi Controls est-il persistant mais pas les autres listes?

mardi 1 juillet 2008 à 17:09:50 | Re : Persistance des items d'une collection au moment du design

Afyn

Il te faut rajouter une collection de Panel peut être ?

Essaye cette voie :

PublicClass MyControl
Inherits Control

Sub New()

Dim mCol AsNew List(OfPanel)

End Sub

EndClass

 


mardi 1 juillet 2008 à 17:27:49 | Re : Persistance des items d'une collection au moment du design

Kevin.Ory

C'est ce que j'ai, une collection de panels :
Private _Items As New List(Of Panel)

Ce que je veux, c'est rajouter des Panels à la collection au moment du design, au moment de l'exécution comme tu le montre il est clair qu'il y a aucun soucis...

mardi 1 juillet 2008 à 17:36:16 | Re : Persistance des items d'une collection au moment du design

Afyn

Ha désolé ... je sais pas trop

Peut être faut il developper une Function Add ou une Function

Default Property



Cette discussion est classé dans : design, collection, items, moment, panel1


Répondre à ce message

Sujets en rapport avec ce message

combobox (items ou collection) [ par planeur ] Je voudrais enregistrer dans un fichier les items ou la collection d'un combobox , et lire ce fichier pour remettre son contenu dans un combobox!Quelq ListBox et Items [ par dheroux ] Bonjour,Je travaille dans une ListBox. Je voudrais inclure un mot DIRECTEMENT DANS LA COLLECTION des items, de la même manière que si j'avais entré ce UserCrontrol + ArrayList [ par aKheNathOn ] Bonjour,J'ai dû loupper quelquechose - en vb6 j'avais les property bags, maintenant c'est directement par le fichier design qu'il construit l'interfac VB.NET: La collection Items (Add, Remove, Clear, ...) pour Control !!!!! [ par mehdi146 ] Bonjour,Je travaille sur la migration d'un logiciel de VB6 à VB.NET.Je résume le problème : En VB6, lorsque je déclare un contrôle dont je ne connais Sérialisation d'une form (au moment du design) [ par veler ] Salut,J'ai crée un concepteur de fenêtre, j'aimerais pouvoir obtenir une class (un bout de code quoi) à partir du contenu du concepteur (design surfac Création d'un controle type liste [ par Kevin.Ory ] Bonsoir,J'ai déjà créé de nombreux controles Windows (allant d'un color picker à une liste d'images, passant pas une progressbar) et tout fonctionne p Sérialiser un collection [ par fiko81 ] Bonjour à tous,Je voulais savoir s'il était possible de  serialiser une classe qui possède une collection ?Exemple :Par exemple : Public MustInherit C Excel VBA - Menu Items [ par JM247L ] Bonjour et que 2008 vous apporte ce que 2007 aura oublié de vous laisserJe développe un outil sous Excel qui sera utilisé dans plusieurs pays européen combobox (readonly ??) [ par Psycho24 ] bonjour à tous...j'ai un petit problème...je voudrais que mon combobox soit readonlyje fais:CboType.DropDownStyle = ComboBoxStyle.DropDownListça fait Isoler une chaine de caractère [ par alias666 ] Bonjour !J'ai un soucis concernant une chaine de caractère. Actuellement je parcèle un .csv via le split, à partir d'un moment je dois stocker des don


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,624 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.