OVH Cloud OVH Cloud

heritage d'une propriété d'un controle

2 réponses
Avatar
Sellier Grégory
Bonjour à tous

Je suis en train de créer un control dans lequel il y a un label et un
combobox

Je voudrai que la propriété ValueMember du combobox apparaisse dans la page
de proprieté du control

pour l'instant , j'utilise l'instruction Property de la façon suivante :


Public Property ValueMember() As String
Get
Return Me.lst_deroul.ValueMember
End Get
Set(ByVal value As String)
Me.lst_deroul.ValueMember = value
End Set
End Property

mais je n'ai pas la liste des champs lorsque je renseigne le datasource du
combobox



Merci d'avance pour votre aide


sg

2 réponses

Avatar
Cyril S.
Si tu regardes le code de la classe ListControl tu y verras :

<Designer("System.Web.UI.Design.WebControls.ListControlDesigner")> _
public class ListControl
...

L'attribut Designer permet de définir un Designer pour une classe. Un
designer permet de prendre en charge tout plein de chose au moment du Design.

Il faut pas penser que la liste des colonnes apparait par magie, c'est du
code qu'il y a derrière tout ca.

Bref pour faire tout ca je te conseille d'aller voir du coté des Designer de
contrôle (classes ControlDesigner, UITypeEditor ...), il y a des exemples
sympas sur msdn.

N'hésites pas a utiliser un desassembleur (genre Reflector) pour voir
comment le framework fait ... c'est toujours interressant.

Bon courage !

--
CS


"Sellier Grégory" wrote:

Bonjour à tous

Je suis en train de créer un control dans lequel il y a un label et un
combobox

Je voudrai que la propriété ValueMember du combobox apparaisse dans la page
de proprieté du control

pour l'instant , j'utilise l'instruction Property de la façon suivante :


Public Property ValueMember() As String
Get
Return Me.lst_deroul.ValueMember
End Get
Set(ByVal value As String)
Me.lst_deroul.ValueMember = value
End Set
End Property

mais je n'ai pas la liste des champs lorsque je renseigne le datasource du
combobox



Merci d'avance pour votre aide


sg



Avatar
Sellier Grégory
Pour info ,


<DefaultValue(""),
Editor("System.Windows.Forms.Design.DataMemberFieldEditor, System.Design,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken°3f5f7f11d50a3a",
GetType(UITypeEditor))> _
Public Property ValueMember() As String
Get
Return Me.ComboBox1.ValueMember
End Get
Set(ByVal Value As String)
Me.ComboBox1.ValueMember = Value
End Set

et ca marche mais parcontre je vais rechercher les définitions de la ligne
suivante :
<DefaultValue(""),
Editor("System.Windows.Forms.Design.DataMemberFieldEditor, System.Design,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken°3f5f7f11d50a3a",
GetType(UITypeEditor))> _

Merci pour ton aide, elle m'a bien orientée

sg


"Cyril S." a écrit :

Si tu regardes le code de la classe ListControl tu y verras :

<Designer("System.Web.UI.Design.WebControls.ListControlDesigner")> _
public class ListControl
...

L'attribut Designer permet de définir un Designer pour une classe. Un
designer permet de prendre en charge tout plein de chose au moment du Design.

Il faut pas penser que la liste des colonnes apparait par magie, c'est du
code qu'il y a derrière tout ca.

Bref pour faire tout ca je te conseille d'aller voir du coté des Designer de
contrôle (classes ControlDesigner, UITypeEditor ...), il y a des exemples
sympas sur msdn.

N'hésites pas a utiliser un desassembleur (genre Reflector) pour voir
comment le framework fait ... c'est toujours interressant.

Bon courage !

--
CS


"Sellier Grégory" wrote:

> Bonjour à tous
>
> Je suis en train de créer un control dans lequel il y a un label et un
> combobox
>
> Je voudrai que la propriété ValueMember du combobox apparaisse dans la page
> de proprieté du control
>
> pour l'instant , j'utilise l'instruction Property de la façon suivante :
>
>
> Public Property ValueMember() As String
> Get
> Return Me.lst_deroul.ValueMember
> End Get
> Set(ByVal value As String)
> Me.lst_deroul.ValueMember = value
> End Set
> End Property
>
> mais je n'ai pas la liste des champs lorsque je renseigne le datasource du
> combobox
>
>
>
> Merci d'avance pour votre aide
>
>
> sg
>