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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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...