[.NET2] UTILISATION DES SMARTTAGS SUR UN CONTROLE UTILISATEUR

Signaler
Messages postés
85
Date d'inscription
mardi 6 janvier 2004
Statut
Membre
Dernière intervention
7 mai 2007
-
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42466-net2-utilisation-des-smarttags-sur-un-controle-utilisateur

Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
20
Merci pour ce complément d'infos.
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
27
En regardant de plus près un code en C# j'ai pu voir qu'il manquait un morceau de code pour que cela fonctionne.

Pour que les propriétés du contrôle reste en place, il faut attribuer les propriétés à l'aide de la classe 'System.ComponentModel.PropertyDescriptor'.

Le mieux reste de créer dans la classe hérité DesignerActionList, une méthode qui fixe les propriétés:

Private Sub SetPropValue(ByVal propName As String, ByVal value As Object)
Dim prop As PropertyDescriptor = TypeDescriptor.GetProperties(MyControl)(propName)
If prop IsNot Nothing Then
prop.SetValue(MyControl, value)
End If
End Sub

Et en suite de l'appeler comme ceci dans chaque procédures de propriétés:

Property MyControlText() As String
Get
Return MyControl.Text
End Get
Set(value As String)
SetPropValue("Text", value)
End Set
End Property

Voila, j'éspère que ca pourra aider quelqu'un.

@++
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
27
Salut,

Il doit y avoir un problème (surement de serialisation) car les propriétés modifiés des contrôles via le smart tag ne le restent pas en mode execution.

Merci pour le code en tout cas! toujours aussi intructives tes sources :)
Messages postés
85
Date d'inscription
mardi 6 janvier 2004
Statut
Membre
Dernière intervention
7 mai 2007

Merci ça va mettre trés util
10/10