VB.2003 -Serialization de propriété classe
Bonjour,
Je penche sur un problème depuis 2 jours et j'avoue que je ne trouve pas de solution...
Voici le problème.
J'ai une classe qu'on va appeler Bidon
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
Public Class Bidon
Inhertis System.ComponentModel.Component
Public Sub New( _
Byval objControl as Control _
)
MyBase.New()
' Pour l'exemple je n'utilise pas le control, mais dans mon programme
' j'en ai besoin
End Sub
Private mBln_Test As Boolean = True
<DefaultValue(True)> _
Public Property Test As Boolean
Get
Return mBln_Test
End Get
Set(ByVal Value As Boolean)
mBln_Test = Value
End Set
End Class |
Ensuite j'ai un control hérité de Button par exemple auquel j'ajoute une propriété
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Public Class MonButton
Inherits System.Windows.Forms.Button
Private m_objBidon As Bidon = New Bidon(Me)
< _
Description("Gestion de la classe Bidon"), _
Category("Apparence"), _
DesignerSerializationVisibility(DesignerSerializationVisibility.Content) _
> _
Public ReadOnly Property Bidon() As Bidon
Get
Return m_objBidon
End Get
End Property
End Class |
J'ajoute ce bouton dans une fenetre Form.
Dans le panneau de propriété, je vois bien la propriété "Test" et je peux modifier les propriétés de ma classe Bidon et la propriéte modifié de la classe Bidon est bien serialisée dans le code généré de la form.
Donc, jusque là tout va bien.
Le problème que lorsque je créé une autre form qui herite de ma form précédente, la valeur de ma propriété "Test" de ma classe bidon est de nouveau serialisée dans mon nouvel écran, alors que la valeur est identique à la valeur de l'écran dont j'hérité.
(Je me rens compte que c'est difficile à expliqué comme ça)
Pour ceux qui ont compris le problème, j'aimerais savoir comment il faut procéder pour que cela se comporte de la même manière que la propriété Font du control par exemple...